ファイル操作2
ファイルに書き込む
前回のファイル操作で、ファイルを読み込んで画面に出力することはできました
では、今度はファイルに書き込んだり新規に作成したりできるようになりたいと思うのが人間の欲望です
ファイルへの書き込みは、Perl言語は非常に簡易です
open関数でファイルを開くときにファイルパスの前に>を付けるだけです
上書きしたい場合はひとつ、追加書き込みしたい場合はふたつ >をつけます
open(file-handle , ">file-path")
open(file-handle , ">>file-path")
こうすれば、書き込みモードでファイルが開かれます
ファイルパスで指定されたファイルが存在しない場合は、新規にファイルを作成します
あとはprint関数でファイルハンドルの跡に、書き込みたい内容を指定します
print file-handle value
このときfile-handleとvalueの間にカンマ「 , 」は必要ありません
open(FILE , ">test.txt") || die "エラーが検出されました";
print "ファイルに書き込みます\n";
$str = <STDIN>;
chomp($str);
print FILE $str;
close(FILE);
open(FILE , ">>test.txt") || die "エラーが検出されました";
print "ファイルに追加書き込みます\n";
$str = <STDIN>;
chomp($str);
print FILE $str;
close(FILE);
では、これまでのことをふまえて、簡易テキストエディタもどきを作ってみましょう
上手く改造していけば、それなりのものになるかもしれませんよ
以下のスクリプトを作成して、その後色々オリジナリティを盛り込んでください
print "テキストファイルを作成、編集します\n";
print "ファイル名を指定してください\n";
$file_name = <STDIN>;
chomp($file_name);
open(FILE , ">>$file_name") || die "エラーが検出されました";
print "書き込みます\n";
until ($str eq "exit\n") {
print FILE $str;
$str = <STDIN>;
}
close(FILE);