ただし、あなたの質問は少し不明確です。つまり、v、v1、およびv2の要素を含むforeachがあります。これは、(表記法で)行うことです。
my $v = "value1";
my $v1 = "value2";
my @v2 = ("v3", "v4");
foreach my $element($v, $v1, @v2) {
print $element . "\n";
}
これにより、次の出力が得られます。
value1
value2
v3
v4
これはどのように作動しますか?foreachループは、制御変数(VAR)をリストの連続する各要素に設定することにより、値のリストを反復処理します。
foreach VAR (LIST) {
...
}
あなたの場合、制御変数名は$ elementであり、リストとその値は次のとおりです:($ v、$ v1、@ v2) -または、より明示的には:("value1"、 "value2"、 "@ v2 [0 ] "、" @ v2 [1] ")-これは-と考えることができます-(しかし実際にはそうではありません)次のようになります:(" value1 "、" value2 "、" v3 "、" v4 ")。
そして、池上警告のとおり、参考までに:ループ内の$ element値を変更すると、リストに保持されている値も変更されます。