我有/home/user/abc/def/mng
,我想替换/home/user
,或者在此之前我做了检查,如果字符串包含$ HOME,则从匹配和处理中排除$ HOME或/home/user
模式/abc/def/mng
上有一些东西。
如何表现?
答案 0 :(得分:1)
如果我很了解您的问题,则需要这样的内容:
my $newstring = $oldstring =~ s/(\/home\/user)|(\$HOME)//gr;
在这里看看:http://tpcg.io/xukvqn
答案 1 :(得分:1)
这不是特别聪明,但它确实满足您的要求:
use strict;
use warnings;
use Data::Dumper;
my $variable = '/home/jtym/abc/def/mng';
my $home_if_exists;
if($variable =~ /^$ENV{HOME}/) {
$variable =~ s/^$ENV{HOME}//;
$home_if_exists = $ENV{HOME};
}
$variable =~ s/\//SLASH/g;
$variable = $home_if_exists.$variable;
print Dumper($variable);
$ VAR1 ='/ home / jtymSLASHabcSLASHdefSLASHmng';