0

基本的に、以下に示すように、ディレクトリの場所を格納する環境変数があります

export MYPATH=/home/test/mysamplepath

今Perlスクリプトで、関数または最後の部分を削除できる式、つまり以下のようなものを使用して、そのディレクトリの上の1つのパスを知りたい

$myNewPath = '/home/test'
4

4 に答える 4

6
use File::Basename;
my $myNewPath = dirname($ENV{MYPATH});
于 2013-08-02T16:22:23.160 に答える
0

Linux または Unix ベースのシステムでは、次のように環境変数を読み取り、必要な残りのパスを正規表現で切り取ることができます。

#!/usr/bin/perl

use warnings;
use strict;

my $path =  $ENV{'MYPATH'};
$path =~ s/^(\/.+)\/.+\/?$/$1/;
print $path . "\n";
于 2013-08-02T16:24:18.550 に答える
0

パスを正規表現と一致させることができます:

if($line =~ /export\s\$MYPATH=(.*)(?<!\\)\//){
  $new_path = $1;
}

\これは、URL でエスケープした場合にも機能します。

于 2013-08-02T16:25:40.940 に答える
0

my $mynewpath = $oldpath =~ /(.+?)/\w+/; Try that.

于 2013-08-02T16:19:36.383 に答える