2017-08-04 10 views
3

私はパス:/path/to/here/file.txtを持っています。どのようにして、2つの親ディレクトリがperlで見つかるのですか?

私はちょうど/path/to/取得するにはどうすればよいfile.txt/path/to/here/

を得ることができます

my ($file, $dir) = fileparse($fullPath); 

を使用して/path/to/

を取得したいですか?それは/path/toがシンボリックリンクひいてはいない、本当に親ディレクトリである場合でも/path/toを返しますので、これは、任意のファイルシステムチェックを実行しないことを

+0

以下の2つの答えのように、是非、そしていくつかの理由でモジュールを使用してください。しかし、ちょうどbtw、あなたはあなたがちょうど(正規表現または分割で)文字列を解析することができることを理解していますよね? – zdim

答えて

4
use Path::Class qw(file); 

say file("/path/to/here/file.txt")->dir->parent; 

は注意してください。

$ perl -MPath::Tiny -e 'CORE::say path($ARGV[0])->parent->parent' /path/to/here/file.txt 

これは、いずれかの任意のファイルシステムチェックを実行しません:Path::Tinyを使用して

2

File::Specのみを使用すると、面倒な傾向があります。私は次の作品が肯定的ではありません:

関連する問題