基本的に、以下に示すように、ディレクトリの場所を格納する環境変数があります
export MYPATH=/home/test/mysamplepath
今Perlスクリプトで、関数または最後の部分を削除できる式、つまり以下のようなものを使用して、そのディレクトリの上の1つのパスを知りたい
$myNewPath = '/home/test'
基本的に、以下に示すように、ディレクトリの場所を格納する環境変数があります
export MYPATH=/home/test/mysamplepath
今Perlスクリプトで、関数または最後の部分を削除できる式、つまり以下のようなものを使用して、そのディレクトリの上の1つのパスを知りたい
$myNewPath = '/home/test'
use File::Basename;
my $myNewPath = dirname($ENV{MYPATH});
Linux または Unix ベースのシステムでは、次のように環境変数を読み取り、必要な残りのパスを正規表現で切り取ることができます。
#!/usr/bin/perl
use warnings;
use strict;
my $path = $ENV{'MYPATH'};
$path =~ s/^(\/.+)\/.+\/?$/$1/;
print $path . "\n";
パスを正規表現と一致させることができます:
if($line =~ /export\s\$MYPATH=(.*)(?<!\\)\//){
$new_path = $1;
}
\
これは、URL でエスケープした場合にも機能します。
my $mynewpath = $oldpath =~ /(.+?)/\w+/; Try that.