ごめんなさい。自分では解決できないので
質問させて下さい。

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;

ですべて上書き保存するという非効率な方法しか思いつきません。

要所部分だけ書き換えるという方法がありましたら、ないかも知れませんが。。
教えていただければ幸いです。