如何在perl脚本中执行for循环数组

时间:2015-04-02 09:21:15

标签: perl shell

在Shell脚本中,我通常以这种方式遍历数组

something[0]="abc"
something[1]="bcd"
something[2]="def"

for i in "${something[@]}"
do
   do something
done

我想在perl中执行相同类型的操作。请建议。

4 个答案:

答案 0 :(得分:1)

这就是语法:

foreach my $value (@something)
{
  do something

}
do

答案 1 :(得分:0)

use warnings;
use strict;

my @something = ('abc','bcd','def');

foreach (@something){
    print "$_\n"; #$_ is default varaible for print the each element of array
}

按索引键值打印数组。比如$something[0]abc 所以在forloop

for my $i(0..$#something){ 
print "$something[$i]\n"; 
}

这里$#something是数组的最后一个元素。 ..是范围运算符

并且也这样做

for(my $i = 0; $i <= $#something; $i++){
    print "$something[$i]\n";
}

答案 2 :(得分:0)

以下是一个例子:

my @allNames = ('Lee', 'Coo', 'Bee');
foreach my $name (@allNames)
{
    print "$name\n";
}

@allNames中的每个元素依次分配给$name,并执行花括号中的代码。

答案 3 :(得分:0)

#! /bin/perl
$something[0]="abc";
$something[1]="bcd";
$something[2]="def";

for $i (@something) {
   print "do something with $i\n";
}

这与您在BASH脚本中的Perl非常接近。 Perl @something是一个数组变量。 $something[0]@something中的第一项。

这是一个非常基本的Perl问题。我建议你得到Llama Book的副本并自学一些Perl。

相关问题