« 百年蜜月 | Home | 月曜日はいつーもの »

2006年12月19日

配列から取り出した変数に値をセットした時は、配列の値も変わる

配列から取り出した変数は出力する用途で使用することが多いので、
独学で動くスクリプトだけを書いている人は知らない人が多いと思われます。
私のことです。

曜日出力


use strict;
use warnings;

my @week = qw(Sun Mon Tue Wed Thu Fri Sat);
for my $outPutLine (@week){
print "$outPutLine\n";
}

#結果
#
#Sun
#Mon
#Tue
#Wed
#Thu
#Fri
#Sat
#

毎日が土曜日


use strict;
use warnings;

my @week = qw(Sun Mon Tue Wed Thu Fri Sat);
for my $line (@week){
$line = 'Sat'
}

for my $outPutLine (@week){
print "$outPutLine\n";
}

#結果
#
#Sat
#Sat
#Sat
#Sat
#Sat
#Sat
#Sat
#

これは


for my $outPutLine (@week){
print "$outPutLine\n";
}

こう書いたほうがよさそう?

print join "\n" , @week

コメントする