- ベストアンサー
Perlで配列にデータを追加する方法は?
- Perlで配列にデータを追加する方法を教えてください。データはカンマで区切られ、配列の先頭行に挿入する必要があります。
- Perlの配列にデータを挿入する方法について教えてください。データはカンマで区切られており、配列の先頭行に追加する必要があります。
- Perlでデータがカンマで区切られた配列にデータを挿入する方法を教えてください。挿入するデータは先頭行に追加するものです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ファイルを配列に読み込み 配列にunshiftで値をのっけて そのまま配列をファイルに書き込む open FILE,'./data/xxx.txt'; @ddr = <FILE>; close FILE; unshift @ddr,"$date,$cont\n"; open FILE,'>./data/xxx.txt'; print FILE @ddr; close FILE; なにかいろいろ処理するなら open FILE,'./data/xxx.txt'; while($temp = <FILE>){ chomp $temp; @temp=split(/,/,$temp); なにか処理 ###push(@ddr,"$temp[0]","$temp[1]"); これだと$temp[0]と$temp[1]が順番に代入される 見づらいけどコンマとまとめて代入するなら""で囲む push @ddr,"$temp[0],$temp[1]\n"; } close FILE; ###seek(@ddr,0,0); unshift @ddr,"$date,$cont\n"; open FILE,'>./data/xxx.txt'; ###$new=join(",",@ddr); ###print FILE $new; print FILE @ddr; close FILE;
その他の回答 (2)
- Wap58
- ベストアンサー率33% (29/87)
open FILE,'./data/xxx.txt'; これ全角が入ってたんで↓に訂正 open FILE,'./data/xxx.txt';
お礼
修正ありがとうございます。
- ToOrisugaru
- ベストアンサー率28% (80/280)
txtとか、csvなど、基本的にパソコンのファイルは順編成ファイルと呼ばれるもので、先頭への追加とか、途中レコードの変更というのはできません。この仲間として、カセットテープとかも同じ部類です。もしやりたいのであれば、メモリ上追加したイメージで作成し、それをファイル(上書き)へ書き直すことになります。
お礼
そうでしたか。。以前出来た記憶だったので、すこしチャレンジしてみます。
お礼
ありがとうございます。目的としていた結果が得られました。 ""で纏めて代入すれば良いんですね! 大変助かりました。