- 地味に有用である、File::BasenameとCwdパッケージの使用例
- <= Perl 5.8
- ./core_modules/basename0.pl
#!/usr/bin/perl
use strict;
use warnings;
use File::Basename;
use Cwd 'realpath', 'cwd';
my($filename, $path, undef) = fileparse($0);
print "fileparse(): filename = [$filename]\n";
print "fileparse(): path = [$path]\n";
print "basename = [" . basename($0) . "]\n";
print "dirname = [" . dirname($0) . "]\n";
print "cwd() = [" . cwd() . "]\n";
C:\in_vitro\perl>perl ./core_modules/basename0.pl
fileparse(): filename = [basename0.pl]
fileparse(): path = [./core_modules/]
basename = [basename0.pl]
dirname = [./core_modules]
cwd() = [C:/in_vitro/perl]
- fileparseの返す3番目の値は拡張子(suffix)であり、それを取得するバージョン:
my($filename, $path, undef) = fileparse($0);
→
my($filename, $path, $suffix) = fileparse($0, qr/\.[^.]*/);
...
print "fileparse(): suffix = [$suffix]\n";
C:\in_vitro\perl>perl ./core_modules/basename0.pl
fileparse(): filename = [basename0]
fileparse(): path = [./core_modules/]
fileparse(): suffix = [.pl]
basename = [basename0.pl]
dirname = [./core_modules]
cwd() = [C:/in_vitro/perl]
プレーンテキスト形式でダウンロード