在Shell脚本这样如何在Perl脚本
something[0]="abc"
something[1]="bcd"
something[2]="def"
for i in "${something[@]}"
do
do something
done
我想在Perl中执行相同类型的操作执行for循环数组我通常通过数组循环。请建议。
在Shell脚本这样如何在Perl脚本
something[0]="abc"
something[1]="bcd"
something[2]="def"
for i in "${something[@]}"
do
do something
done
我想在Perl中执行相同类型的操作执行for循环数组我通常通过数组循环。请建议。
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]
在for循环
for my $i(0..$#something){
print "$something[$i]\n";
}
给abc
所以这里$#something
是阵列的最后一个元素。 ..
在该范围操作者
而且也为此
for(my $i = 0; $i <= $#something; $i++){
print "$something[$i]\n";
}
就我个人而言,我可以考虑使用'for'循环进行数组迭代的很少很好的理由。 – Sobrique 2015-04-02 12:34:02
下面是一个例子:
my @allNames = ('Lee', 'Coo', 'Bee');
foreach my $name (@allNames)
{
print "$name\n";
}
在@allNames
的每个元素被依次分配给$name
,并在大括号中的代码被执行。
我会建议一个小修改 - 它不会被分配到,'$ name'就是一个_alias_。所以你可以做'$ name =〜s/[ae]/x/g;'并且它会修改数组。 – Sobrique 2015-04-02 12:33:29
#! /bin/perl
$something[0]="abc";
$something[1]="bcd";
$something[2]="def";
for $i (@something) {
print "do something with $i\n";
}
这与Perl在BASH脚本中的接近。在Perl中@something
是一个数组变量。 $something[0]
是@something
中的第一项。
这是一个非常基本的Perl问题。我建议你得到Llama Book的副本,并学习一些Perl。
这是我见过的第一个问题,如果你刚才自己研究过,询问和阅读答案需要付出更多努力。你将不得不在谷歌输入较少的字符来立即获得相同的结果。 – DeVadder 2015-04-02 11:00:45