○ファイル操作

■ファイルの削除
ファイル名 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 関連