2009年06月27日

空白削除

VB での RTrim, Trimに該当する関数です。

trim.txt




#--------------------------------------------------------------------
# 右空白削除
# 概要 文字列の右空白を削除する
# 形式 $string = &RTrim ( $instring );
# 引数 $instring : in : 文字列
# 戻り値 右空白削除後の文字列
#--------------------------------------------------------------------
sub main'RTrim {
local ( $instring ) = @_;

$instring =~ s/\s*$//;
return $instring;
}

#--------------------------------------------------------------------
# 左右空白削除
# 概要 文字列の左右空白を削除する
# 形式 $string = &Trim ( $instring );
# 引数 $instring : in : 文字列
# 戻り値 左右空白削除後の文字列
#--------------------------------------------------------------------
sub main'Trim {
local ( $instring ) = @_;

$instring =~ s/^\s*//;
return &main'RTrim( $instring );
}
posted by ぜんこう at 18:07| Comment(0) | Perl

多階層ディレクトリの作成

多階層にわたるディレクトリを作成する関数です。

MultiMkdir.txt



#--------------------------------------------------------------------
# 多階層ディレクトリ作成
# 概要 多階層にわたるディレクトリの作成(mkdir)を一度に実行
# 形式 &MultiMkdir( $newdir );
# 引数 $newdir : in : 作成するディレクトリ
#--------------------------------------------------------------------
sub main'MultiMkdir {
my ( $temp, $pos );

local ( $newdir ) = @_;

do {
$temp = $newdir;
while ( 1 ) {
$! = 0;
mkdir( $temp, 0755 );
if ( $! == 0 || $! == 17 ) { # Normal or File Exist
last;
}
elsif ( $! == 2 ) { # No such file or directory
$pos = rindex( $temp, "\\" );
last if ( $pos <= 0 );
$temp = substr( $temp, 0, $pos );
}
else {
die "$main'me multi_mkdir : mkdir error : $!\n";
}
}
} until ( $temp eq $newdir );
}
posted by ぜんこう at 18:04| Comment(0) | Perl