1. ホーム
  2. perl

Perl で foreach ループのループインデックスを自動的に取得する

2023-10-19 02:09:10

質問

Perlで以下のような配列があった場合。

@x = qw(a b c);

で反復処理し、その上に foreach で、次に $_ は現在の 要素 を参照します。

foreach (@x) {
    print;
}

が印刷されます。

abc

同様の方法で インデックス を取得する同様の方法はありますか?次のようなものです。

foreach (@x) {
    print $index;
}

ここで $index のように更新されます。 $_ のように更新され、出力されます。

012

どのように解決するのですか?

例えば というコードヘッド のように、配列の要素ではなくインデックスに対して反復処理を行わなければなりません。私は C スタイルの for ループよりもこちらの方が好きです。

for my $i (0 .. $#x) {
    print "$i: $x[$i]\n";
}