如何替换perl中的EDI字符以获得所需的输出

时间:2014-12-17 05:29:28

标签: perl

我想替换这个字符串:

@N9*BM*MSCUMF036299@

使用:

@N9*BM*MF036299@

in perl。

我试过这个但是没有用。

#!/usr/bin/perl
$string = "@N9*BM*MSCUMF036299@";
$string =~ s/"N9.BM.MSCU"/"N9*BM*"/;
print "$string\n";

1 个答案:

答案 0 :(得分:0)

  

我试过这个但是没有用。

$string = "@N9*BM*MSCUMF036299@";
$string =~ s/"N9.BM.MSCU"/"N9*BM*"/;

由于您在文字字符串周围使用了双引号,因此插入了未定义的数组变量@N9,产生$string = "*BM*MSCUMF036299@"。为避免这种情况,请使用单引号 除此之外,s/"N9.BM.MSCU"/"N9*BM*"/中的引号不合适 正确的:

$string = '@N9*BM*MSCUMF036299@';
$string =~ s/N9.BM.MSCU/N9*BM*/;