在Shell脚本中,我通常以这种方式遍历数组
something[0]="abc"
something[1]="bcd"
something[2]="def"
for i in "${something[@]}"
do
do something
done
我想在perl中执行相同类型的操作。请建议。
答案 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。