oc01.pl
#!/usr/bin/perl open(FILE, "df"); #ファイルdfを開く close(FILE); #ファイルdfを閉じる
dog.dat
犬のおまわりさん、 困ってしまってワンワンワワン、 ワンワンワワン
open01.pl
#!/usr/bin/perl
open(FILE,"dog.dat");
while($a=<FILE>){ #ファイルの最後まで、1行ずつ読み出し
print"$a";
}
close(FILE);

以下のようにもかける。
open02.pl
#!/usr/bin/perl
open(FILE,"dog.dat");
while(<FILE>){ #変数の指定が無い場合には、$_に代入
print; #引数が無い場合には、$_の内容を表示
}
close(FILE);
dog.dat
犬のおまわりさん、 困ってしまってワンワンワワン、 ワンワンワワン
write01.pl
#!/usr/bin/perl
open(FILE,"dog.dat");
open(FILE2,">dog2.dat"); #書き込み用ファイル
while($a=<FILE>){
$a=~s/ワン/クン/g;
print FILE2 "$a";
}
close(FILE);
close(FILE2);
open(FILE,"dog2.dat");
while($a=<FILE>){
print"$a";
}
close(FILE);

dog2.dat
犬のおまわりさん、 困ってしまってクンクンワクン、 クンクンワクン
dog.dat
犬のおまわりさん、 困ってしまってワンワンワワン、 ワンワンワワン
dog3.dat
泣いてばかりいる 子ねこちゃん
write02.pl
#!/usr/bin/perl
open(FILE,"dog.dat"); #追加書き込み用ファイル
open(FILE2,">>dog3.dat"); #追加書き込み用ファイル
while($a=<FILE>){
$a=~s/ワン/ギャン/g;
print FILE2 "$a";
}
close(FILE);
close(FILE2);
open(FILE,"dog3.dat");
while($a=<FILE>){
print"$a";
}
close(FILE);

dog3.dat
泣いてばかりいる 子ねこちゃん 犬のおまわりさん、 困ってしまってギャンギャンワギャン、 ギャンギャンワギャン
dog4.dat
犬のおまわりさん、 困ってしまってワンワンワワン、 ワンワンワワン
rw01.pl
#!/usr/bin/perl
open(FILE,"+<dog4.dat"); #読み書き両用ファイル
while($a=<FILE>){
print "$a";
}
print FILE "最終行";
print "\n書きこみ終了\n\n";
close(FILE);
open(FILE,"dog4.dat");
while($a=<FILE>){
print "$a";
}
close(FILE);

dog4.dat
犬のおまわりさん、 困ってしまってワンワンワワン、 ワンワンワワン 最終行
cn.dat
0
簡易カウンタ
fp01.pl
#!/usr/bin/perl open(FILE,"+<cn.dat"); #読み書き両用ファイル $a=<FILE>; $a++; seek(FILE, 0, 0); #ファイルの先頭へ print FILE "$a"; print "$a"; close(FILE);

cn.dat
3
| seek(ファイルハンドル, オフセット, 起点) | |
|---|---|
| ファイルハンドル | openでファイルを開いたときに取得したファイルハンドル |
| オフセット | 起点からの相対位置 バイト単位で指定 起点が0でなければ、マイナスも可 |
| 起点 | 0:ファイルの先頭 1:現在のファイルポインタ 2:ファイルの末尾 |
|
|