#navi_header|Perl| - 地味に有用である、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] #navi_footer|Perl|