7.3 ファイル名の中のチルダを展開する
- glob関数を使用する。
open(FH, glob("~joebob/somefile")) || die "Couldn't open file: $!";
- 置換を使用して、ファイル名を手動で展開する。
$filename =~ s{ ^ ~ ( [^/]* ) } {$1 ? (etpwnam($1))[7] : ( $ENV{HOME} || $ENV{LOGDIR} || (getpwuid($<))[7] ) }ex;
open(FH, glob("~joebob/somefile")) || die "Couldn't open file: $!";
$filename =~ s{ ^ ~ ( [^/]* ) } {$1 ? (etpwnam($1))[7] : ( $ENV{HOME} || $ENV{LOGDIR} || (getpwuid($<))[7] ) }ex;