• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perl 先頭行に追加)

Perlで配列にデータを追加する方法は?

このQ&Aのポイント
  • Perlで配列にデータを追加する方法を教えてください。データはカンマで区切られ、配列の先頭行に挿入する必要があります。
  • Perlの配列にデータを挿入する方法について教えてください。データはカンマで区切られており、配列の先頭行に追加する必要があります。
  • Perlでデータがカンマで区切られた配列にデータを挿入する方法を教えてください。挿入するデータは先頭行に追加するものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wap58
  • ベストアンサー率33% (29/87)
回答No.2

ファイルを配列に読み込み 配列に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;

spider32
質問者

お礼

ありがとうございます。目的としていた結果が得られました。 ""で纏めて代入すれば良いんですね! 大変助かりました。

その他の回答 (2)

  • Wap58
  • ベストアンサー率33% (29/87)
回答No.3

open FILE,'./data/xxx.txt'; これ全角が入ってたんで↓に訂正 open FILE,'./data/xxx.txt';

spider32
質問者

お礼

修正ありがとうございます。

回答No.1

txtとか、csvなど、基本的にパソコンのファイルは順編成ファイルと呼ばれるもので、先頭への追加とか、途中レコードの変更というのはできません。この仲間として、カセットテープとかも同じ部類です。もしやりたいのであれば、メモリ上追加したイメージで作成し、それをファイル(上書き)へ書き直すことになります。

spider32
質問者

お礼

そうでしたか。。以前出来た記憶だったので、すこしチャレンジしてみます。

関連するQ&A