■ファイルハンドル簡単なファイルオープン

ファイルハンドルに対してオープン処理を行うためにはopen関数をしようします。

ファイルのオープン
open(FILEHANDLE, "somename");

書き込み用(上書き)にファイルをオープンする場合
open(FILENAME, ">outfile");

書き込み用(追記)にファイルをオープンする場合
open(FILENAME, ">>outfile");

どの形式でもファイルオープンに成功すると「真」、失敗すると「偽」が帰ってくる。



パス名とファイル名の使い方

"C:\\temp"
'C:\temp'
"C:/temp"

program file

open(F, '\Perl\src\sample01.txt') || die "open: $!";
$cnt = 0;
while (<F>) {
chomp;
print $_ . "\n";
$cnt++;
}
close(F) || die "close: $!";
print "$cnt lines\n";


\Perl\src\sample01.txt

adfjgar
fasdfsadf wfsad
fsadfsdaf
fsad dsafsad
sdfasdfsadf
fdsafsdafsad
f sadf aqwf safasd ewf fefa
dafasdf
f asd f

実行結果

adfjgar
fasdfsadf wfsad
fsadfsdaf
fsad dsafsad
sdfasdfsadf
fdsafsdafsad
f sadf aqwf safasd ewf fefa
dafasdf
f asd f
10 lines

program file

$a = "\\Perl\\src\\sample01.txt";
open(IN, $a) || die "cannot open $a for reading: $!";
open(OUT, ">\\Perl\\src\\sample01c.txt") || die "cannot create $_: $!";
while (<IN>) {
print OUT $_
}
close(IN, $a);
close(IN, $b);


\Perl\src\sample01.txt

adfjgar
fasdfsadf wfsad
fsadfsdaf
fsad dsafsad
sdfasdfsadf
fdsafsdafsad
f sadf aqwf safasd ewf fefa
dafasdf
f asd f

実行結果

\Perl\src\sample01c.txtという名前のファイルが作成され、sample01.txtの内容がコピーされます。