perl初心者で、現在勉強中です。perlを利用して、以下のようなことをしたいと考えています。
test.log =============================== test 65 aaaaa 23 perl 1 example 0 main 2 sub 78 ===============================
上記ファイルを読み込んで、aaaaaからmainまでの行を抜き出し、かつその隣の数字だけを表示したいと思っています。
(イメージ)
23
1
0
2
aaaaaからmainまでを指定して抽出することはできました。以下の、特定行を抜き出すコードと、数字のみを抜き出すコードを利用すると思うのですが、、、
実行すると空欄になってしまい、目的の結果を得ることができません。
if文の構成が間違っていると思うのですが、もし分かる方がいらっしゃいましたら、教えて頂けますでしょうか。
(特定行を抜き出すソースコード)
open FH, "test.log" or die $!; $flag = 0; while ($data = <FH>) { chomp $data; $data =~ s/[^0-9]//g; if ($data eq "aaaaa" ) { $flag = 1 } elsif ($data eq "main") { $flag = 0 } elsif ($flag) { print "$data\n" } } close FH;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/24 00:40