在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