• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Webプログラミング.ファイルへの保存について)

Webプログラミング初心者のためのファイル保存方法とは?

このQ&Aのポイント
  • Webプログラミング初心者の方のために、フォームから受け取ったデータを文字コード変換してファイルに保存する方法について質問があります。
  • ファイルに保存する際のソースコード例として、unshift関数を使って変数をファイルに追加する方法が紹介されています。
  • unshift関数の使い方について詳しく知りたいです。フォームから受け取ったデータをファイルに保存する方法を教えてください。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> unshift(@file, "$in{'name1'}\t$in{'name2'}\n"); //ココの部分です だと、 $in{'name1'} , $in{'name2'} が展開されます。%inというハッシュで、キーが 'name1', 'name2'の値、という意味です。 入れたいは%inではなく、単純な変数なのですから、どう書けばいいかわかると思いますが。 また、この方法を使わなくても ・sprintfを使う: sprintf("%s\t%s\n", $name1,$name2) ・文字列結合の演算子 . を使う: $name1 . "\t" . $name2 . "\n" 等もあります。 ダブルクォートの中の変数展開がよくわからないなら、後者の方法を使えばいいです。 あと、これって > @file = <FH>; > close(FH); > unshift(@file, "$in{'name1'}\t$in{'name2'}\n"); //ココの部分です. .......「このあたり」......... > if (open(FH, ">form.txt")) { の「このあたり」で他の人がform.txtを書き換えてしまう可能性があります。 >+等の読み書きモードでオープン→flock→読み込み→(必要ならファイルを空に)→書き込み→クローズ 等とするなどして、間に入ってこれないようにする必要があります

関連するQ&A