Perlコーディング初心者質問スレ Part 43
■ このスレッドは過去ログ倉庫に格納されています
0232nobodyさん
2005/08/29(月) 22:53:35ID:2Z/c1c0/質問させて下さい。
perl 5.0 linux apache環境です。(あまり環境は関係ない質問ですが。。)
国語,30,53,23,23
算数,35,35,12,64
公民,43,43,34,56
日本史,33,2,2,2
といった感じのCSVファイルがあったとして一部のデータのみ書き換えるという処理は
可能でしょうか?
つまり80行目の3列目だけデータを書き換えるとか、公民の5列目(56の部分)だけ56を52にするとか
することは可能でしょうか?
私の知識では
このCSVをすべて@配列にいれてこれをforeachで一行一行読んで5つにカンマでsplitして変数に保存していき、
($date.=date[0].",".date[1].",".date[2].",".date[3].",".date[4]."\n" )
date[0]が公民だったら4行目を52にして
($date.=date[0].",".date[1].",".date[2].",".date[3].",52\n" )
$dateを print FILEHANDLE date.csv;
ですべて上書き保存するという非効率な方法しか思いつきません。
要所部分だけ書き換えるという方法がありましたら、ないかも知れませんが。。
教えていただければ幸いです。
■ このスレッドは過去ログ倉庫に格納されています