Perl:配列を奇数番目要素と偶数番目要素に分ける
あと一歩シンプルな書き方が思いつかなくて、とりあえずメモっときます。
割とどうでもいい話です。
やりたいこと
@data = qw/able baker charlie dog easy fox/; # これを次の形にする @even_index_data = qw/able charlie easy/; @odd__index_data = qw/baker dog fox/;
逆zip的な事がやりたくて。
答え
@even_index_data = @data[grep { $_ % 2 == 0 } 0..$#data]; @odd__index_data = @data[grep { $_ % 2 == 1 } 0..$#data];
Perlではこれが一番シンプルかな。パフォーマンスは考えてません。
世間では
stackoverflow.com - 本質的には多分上と同じ。
www.perlmonks.org - 配列にpushする人とか。