すいませんすいませんすいません。
1,1,レコードA 2, ,レコードB 3,1,レコードC 4,1,レコードD
こんなファイル。2カラム目が有効フラグで、こいつが立ってる行だけ表示したかったとします。
open(my $fh, 'test.csv') or die; while(<$fh>){ tr/\r\n//d; my ($id, $enable, $text) = split(/,/, $_, 3); $enable or next; print $text, "\n"; } close($fh);
こんなコード書いてバグりました。
なぜなら、このCSVは固定長で、フラグのカラムには'1'か' ' (空白) が入っているのです。レコードBも $enable は ' '(空白) で真になるので、全行表示されますorz