Perlについての質問箱 33箱目
■ このスレッドは過去ログ倉庫に格納されています
0329306
2007/11/09(金) 10:17:35>>328 for文の後ろの方いじるとまずいんですね、知りませんでした。
if文などでなんとかしたほうがいいということですか?
皆さんあと一つだけ知恵をお貸しください… suuji.txt というファイルがありまして中身が
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, ←ここで改行してある
21,22,23,24,25,26,27,28,29,30
というものなんですが、これを偶数と奇数に分けたくて、まず偶数を出力するために以下のプログラムを
作ったんですが、出力結果が
0,2,4,6,8,10,12,14,16,18,20,0,2,4,6,8,10,12,14,16,18,20,21,23,25,27,29,
となってしまい
「1行目が2重に含まれている」
「2行目からずれてしまっている」という二つのわからない点が出てしまいました。
何度もしつこいですが、どうか考え方をお教えください・・・
open IN, "suuji.txt";
open OUT, ">guusuu.txt";
while (<IN>) {
@all = split(/\,/,$_);
for $i (0..$#all){
if ($i % 2 == 0){
push @guusuu,"@all[$i]",",";
}
elsif ($i % 2 == 1){
push @kisuu,"@all[$i]",",";
}
}
print OUT @guusuu;
}
close IN;
close OUT;
■ このスレッドは過去ログ倉庫に格納されています