
package main;
;#----------------------------------------------------------------------------
;# file.pl : ファイル・ディレクトリ関連サブルーチン Perl パッケージ
;# http://www.junkperl.com/
;# Copyright (C) 2006- By HeRO
;# Ver 1.00 2006/08/10
;# 
;# このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェア
;# 財団によって発行された GNU 一般公衆利用許諾契約書(バージョン2か、希望によっ
;# てはそれ以降のバージョンのうちどれか)の定める条件の下で再頒布または改変する
;# ことができます。
;#
;# このプログラムは有用であることを願って頒布されますが、*全くの無保証* です。
;# 商業可能性の保証や特定の目的への適合性は、言外に示されたものも含め全く存在
;# しません。詳しくはGNU 一般公衆利用許諾契約書をご覧ください。
;#
;# あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を一部受け
;# 取ったはずです。もし受け取っていなければ、フリーソフトウェア財団まで請求し
;# てください(宛先は the Free Software Foundation, Inc., 59 Temple Place,
;# Suite 330, Boston, MA 02111-1307 USA)。
;#----------------------------------------------------------------------------
sub read_recs_ref
{
	local( $fname, *dat ) = @_;
	local( $cnt );

	unless( -r $fname ){
		$ERR_MSG = "ファイルがありません。";
		return 0;
	}
	eval{
		open( FPR, "<$fname" ) || die "ファイルのオープンに失敗しました[$fname]";
		@dat = <FPR>;
		close( FPR );
	};
	if( $@ ){
		$ERR_MSG = $@;
		return 0;
	}

	$cnt = @dat;
	return $cnt;
}
;#----------------------------------------------------------------------------
sub rewrite_recs_ref
{
	local( $fname, *dat ) = @_;

	eval{
		open( FPW, ">$fname" ) || die "ファイルのオープンに失敗しました。[$fname]";
		$org_hdl = select( FPW ); $| = 1; select( $org_hdl );
		print( FPW @dat );
		close( FPW );
		chmod( 0666, $fname ) || die "ファイルのパーミッションが変更できません[$fname]";
	};
	if( $@ ){
		$ERR_MSG = $@;
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------
sub get_dir
{
	local( $dirpath, *dat ) = @_;
	eval{
		opendir( DIR, "$dirpath" ) || die "ディレクトリのオープンに失敗しました[$dirpath]";
		@dat = readdir( DIR );
		closedir( DIR );
	};
	if( $@ ){
		$ERR_MSG = $@;
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------
sub create_dir
{
	local( $dirname ) = @_;
	eval{
		mkdir( $dirname, 0777 ) || die "ディレクトリが作成できません[$dirname]";
		chmod( 0777, $dirname ) || die "ディレクトリのパーミッションが変更できません[$dirname]";
										# 強制的に 777
	};
	if( $@ ){
		$ERR_MSG = $@;
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------
sub create_file
{
	local( $fname ) = @_;

	eval{
		open( FPW, ">$fname" ) || die "ファイルのオープンに失敗しました。[$fname]";
		close( FPW );
		chmod( 0666, $fname ) || die "ファイルのパーミッションが変更できません[$fname]";
	};
	if( $@ ){
		$ERR_MSG = $@;
		return 0;
	}
	return 1;
}
;#----------------------------------------------------------------------------

1;

