- ベストアンサー
Perlについて教えてください!
入力ファイルには AAA␣aaa␣AaAa 改行 BBB␣bAb␣BbBb 改行 CCC␣Abc␣CcCc 改行 DDD␣.... というように文字列がスペースおきに3つ記載されていて最後は改行されている文が複数行ある場合、 文の2つ目のaaa、bAb、Abc…のみを配列に格納したい場合のプログラムを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
␣はスペースということですね? #!/usr/bin/env perl my @array1; my @array2; while(<DATA>) { # WAY1: use regexp my ($str) = $_ =~ /^.+?\s(.+?)\s.+$/msx; push(@array1, $str); # WAY2: use split my @columns = split(' ', $_); push(@array2, $columns[1]); } print "$_\n" foreach @array1; print "$_\n" foreach @array2; __DATA__ AAA aaa AaAa BBB bAb BbBb CCC Abc CcCc
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
open my $fh, '<', 'inputfile.txt'; my @data = map { (split)[1] } <$fh>; close $fh;
お礼
丁寧に回答して頂きありがとうございました。