Open Source Web Development Tutorials - Dev Shed
Perl入門:ファイルに追記する、書き込む
(2009/03/11公開)
ファイルに追記する、書き込む
前回のチュートリアルでは、ファイルの作成と、ファイル内のデータの操作方法を説明した。今回は、ファイルへの追記(アペンド)の方法と、書き込みの方法を説明する。時間があれば、ファイルチェックについても説明しよう。
ファイルに追記する
ファイルに情報をアペンド、つまり追加したいことがある。簡単だ。元のデータファイルを開いて、ページの後尾に、好きなだけ行を追加すれば良い。例えば、例のsuperhero.txtファイルにデータを追加したいとしよう。
元のファイルの内容を再録する。
The Incredible Hulk|Super Strength|I rip my pants
Daredevil|Heightened Senses|I have poor fashion sense due to blindness
Apache Chief|the ability to grow Very Tall|I wear a skirt
すべてのスーパーヒーローのうちで最もダサイと思うスーパーヒーローの行を新たに追加しよう。
Aqua Man|the ability to communicate with fish|deep fryers and tartar sauce(アクアマン|魚とコミュニケーションできる|フィッシュフライとタルタルソース)
superhero.txtファイルは、次のようになる。
The Incredible Hulk|Super Strength|I rip my pants
Daredevil|Heightened Senses|I have poor fashion sense do to blindness
Apache Chief|the ability to grow Very Tall|I Wear a skirt
Aqua Man|the ability to communicate with fish|deep fryers and tartar sauce
すごいだろ?
もちろん、コードを使用して、データをアペンドすることもできる。 そのコードは次のようになる。
$my_file="suphero.txt";
open(PLOT,">>$my_file") || die("This file will not open!");
print PLOT "Aqua Man/|the ability to communicate with fish/|deep fryers
and tartar saucen";
close(PLOT);
上のコードは少々複雑なようだね。分かってるさ。すぐに、いくつかの違いに気付くと思う。まず、ファイルを開くとき、コンマの後にダブルクオートを使用しているし、開くファイルの名前の前に不等号を2つ(>>)使用している。このシンボルは、データを追加したいのであって、データを読み取るのでもなく、上書きするのでもないことをプログラムに知らせるために使用する。
次に、親愛なるprintコマンドを使用し、その後に参照のPLOTを続けて、テーブルにデータを配置している。お分かりのように、ここでも、カラムの分離のためにパイプ(|)デリミタを使用している。ただし、(|)の前にバックスラッシュ(/)を使用して、エスケープする必要がある。最後に、追加するデータの終わりを示すため、センテンスの終わりにn(改行)を追加している。
次のように、変数を使用することもできる。
$my_file="superhero.txt";
$heroname="Aqua Man";
$heropower="the ability to communicate with fish";
$heroweakness="deep fryers and tartar sauce";
open(PLOT,">>$my_file") || die("The file cannot be opened!");
print DAT "$heroname|$heropower|$heroweaknessn";
close(PLOT);
このコードは前のコードと同じ効果を持ち、可読性が良く、理解しやすい。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








