基本上我有一个环境变量,它存储一个目录的位置,如下所示
export MYPATH=/home/test/mysamplepath
现在在 Perl 脚本中,我想知道该目录上方的一个路径,或者使用函数或某个表达式,通过该表达式可以删除最后一部分,即如下所示
$myNewPath = '/home/test'
基本上我有一个环境变量,它存储一个目录的位置,如下所示
export MYPATH=/home/test/mysamplepath
现在在 Perl 脚本中,我想知道该目录上方的一个路径,或者使用函数或某个表达式,通过该表达式可以删除最后一部分,即如下所示
$myNewPath = '/home/test'
use File::Basename;
my $myNewPath = dirname($ENV{MYPATH});
您可以将路径与正则表达式匹配:
if($line =~ /export\s\$MYPATH=(.*)(?<!\\)\//){
$new_path = $1;
}
\
如果您在 url中转义,这也有效。
在基于 Linux 或 Unix 的系统上,您可以像这样读取环境变量,然后使用正则表达式剪切所需的其余路径:
#!/usr/bin/perl
use warnings;
use strict;
my $path = $ENV{'MYPATH'};
$path =~ s/^(\/.+)\/.+\/?$/$1/;
print $path . "\n";
my $mynewpath = $oldpath =~ /(.+?)/\w+/; Try that.