Perlコーディング初心者質問スレ Part 49
■ このスレッドは過去ログ倉庫に格納されています
0820737
2006/06/22(木) 13:04:30ID:fNuZm9nk「フォームで選択された項目のみを出力する」という方法が
やはり>>737で書いたようなやり方しか考え付きません。
どうすればもっとスッキリとして処理になるでしょうか?
# 「$nenrei」「$seibetsu」「$denwa」はそれぞれ
# 「年齢」「性別」「電話番号」情報を出力するかどうかのフラグ。
open ( LOG, "< name.txt" ) || die ( "ERROR: $!" );
flock ( LOG,1 );
while ( <LOG> ) {
my @tmp = split (/<>/);
if ( !$denwa ) { splice ( @tmp , 3 , 1 ); }
if ( !$seibetsu ) { splice ( @tmp , 2 , 1 ); }
if ( !$nenrei ) { splice ( @tmp , 1 , 1 ); }
push ( @data , join (',' , @tmp ) );
}
close ( LOG );
# 以下、昨日教えていただいたコードで処理。
$i = 0;
undef(%jusho);
foreach $name ('北海', '東京', '愛知' , '大阪', '福岡') {
$jusho{$name} = $i++;
}
@data = map {$_->[0]}
sort {$jusho{$a->[1]} <=> $jusho{$b->[1]}}
map { my @tmp = split(/<>/); $tmp[4] =~ /^(.*?)(?:県|都|府|道)/; [ $_, $1] } @data;
# @dataを出力。
■ このスレッドは過去ログ倉庫に格納されています