○ファイル操作
■ファイルの削除
ファイル名 HELLO.txt を削除します
unlink "HELLO.txt";
■ファイル名の変更
ファイル名 test.txt を HELLO.txt に変更します
rename "test.txt","HELLO.txt";
■ファイルが存在するか確認する
if ( -e "test.txt" ) {
print "ファイルが見つかりました" ;
} else {
print "ファイルが見つかりません" ;
}
▼その他のファイルテスト演算子(抜粋)
-e ファイルの存在
-w 書き込み可能かどうか
-x 実行可能かどうか
-z ファイルサイズが0であるかどうか
-d ディレクトリかどうか
■ディレクトリ内のファイルを列挙
$path = ".";
opendir DHandle, $path or die "$dir:$!";
while ($filename = readdir DHandle) {
if ($filename ne "." && $filename ne ".."){
print $filename, "\n";
}
}
closedir DHandle;
▼テキストファイルのみ列挙
$path = ".";
opendir DHandle, $path or die "$dir:$!";
while ($filename = readdir DHandle) {
if ($filename =~/(?:.*.txt)/){
print $filename, "\n";
}
}
closedir DHandle;
○ファイルを開く -----------------------------------------------------------
open ( HANDLE , "< filename"); 読込み
open ( HANDLE , "> filename"); 書き込み
open ( HANDLE , ">> filename"); 追記書き込み
open ( HANDLE , "+> filename"); 読み書き
open ( HANDLE , "+>> filename"); 読み追記書き込み
■ファイルから1行読み込み表示する
if(open FHandle, "< test.txt" ){
$line = <FHandle>;
print $line;
close(FHandle);
}else{
print "FILE OPEN ERR";
}
▼EOFまで読み出す
if(open FHandle, "< test.txt" ){
while($line = <FHandle>){
print $line;
}
close(FHandle);
}else{
print "FILE OPEN ERR";
}
■ファイルへの書き込み
▼既存テキストファイルの最後尾へHELLOを追記します(存在しなければ新規作成)
if(open FHandle, ">> test.txt" ){
print FHandle "HELLO";
close(FHandle);
}else{
print "FILE OPEN ERR";
}
■バイト単位での読み書き
▼ファイルポインタの現在位置から2バイト読み出す(ファイルポインタは2バイト進む)
if(open FHandle, "< test.txt" ){
read (FHandle ,$str , 2 ) ;
print $str;
close(FHandle);
}else{
print "FILE OPEN ERR";
}
▼2バイトのみファイルに書き込む
if(open FHandle, "> test.txt" ){
syswrite FHandle,"HELLO", 2;
close(FHandle);
}else{
print "FILE OPEN ERR";
}
ファイルには HELLO の2バイト分 HE が書き込まれます。
▲トップページ
>
perl 関連