Perl再入門 | for,foreachはループ対象の配列を書き換えます。ご注意。

| カテゴリ:

配列に対してforやforeachでループ処理をする際に、制御変数の中身を変更すると、元の配列の中身も変更されてしまいます。


知らないと思わぬ損をするので、気をつけましょう。
私は今まで知りませんでした。(><)

use strict;
use warnings;

my @array = ("x", "y");

for (@array){
$_ = "z";
}

print "@array";

出力結果:
z z


なお、以下のような書き方でも同じ結果になります。
for my $a (@array){
$a = "z";
}

関連記事
Perl再入門 | 超簡単!for,foreachの使い方

トラックバック(1)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/213

forとforeachは、何が違うのか? 実は、まったく同じです。 リャマ本こと... 続きを読む

コメントする

人気記事

このブログ記事について

ひとつ前の記事:「Perl再入門 | 超簡単!for,foreachの使い方

次の記事:「Perl再入門 | forとforeachの違い (同じです!)

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事