if语句中无法使用正则表达式的替换。。。。????
时间:2011-06-28
来源:互联网
1 #!/usr/bin/perl -w
2 use strict;
3 my $file = shift;
4 my $rp;
5 my $new;
6 my $out;
7 my $final;
8 open IN, $file or die $!;
9 while (<IN>){
10 if( $_ =~ /N|A/){ print $_;}
11 if($_ =~/abc/){
12 $rp=$_;
13 print "\$rp is $rp\n";
14 $new ="change";
15 print "\$new is $new\n";
16 $out = "abcdefg";
17 # no strict subs;
18 $out=~s/\Q${rp}\E/\Q${new}\E/;
19
20
21 print "\$out is $out \n";
22 }
23 }
24 my $aaa= "abcdefg";
25 my $rrp= "abc";
26 my $neww= "xxx";
27 $aaa=~s/\Q${rrp}\E/\Q${neww}\E/g;
28 print "\$aaa is $aaa \n";
29 my $pattern="a.*.b";
30 my $str ="ca.*.bc";
31 if($str=~s/\Q${pattern}\E/sds/) {
32 print "ok\n\$str is $str\n";
33 }
##18 $out=~s/\Q${rp}\E/\Q${new}\E/; -----》 这句他没有执行。。。。肿么了。。。。????各位看看吧,谢谢!!
2 use strict;
3 my $file = shift;
4 my $rp;
5 my $new;
6 my $out;
7 my $final;
8 open IN, $file or die $!;
9 while (<IN>){
10 if( $_ =~ /N|A/){ print $_;}
11 if($_ =~/abc/){
12 $rp=$_;
13 print "\$rp is $rp\n";
14 $new ="change";
15 print "\$new is $new\n";
16 $out = "abcdefg";
17 # no strict subs;
18 $out=~s/\Q${rp}\E/\Q${new}\E/;
19
20
21 print "\$out is $out \n";
22 }
23 }
24 my $aaa= "abcdefg";
25 my $rrp= "abc";
26 my $neww= "xxx";
27 $aaa=~s/\Q${rrp}\E/\Q${neww}\E/g;
28 print "\$aaa is $aaa \n";
29 my $pattern="a.*.b";
30 my $str ="ca.*.bc";
31 if($str=~s/\Q${pattern}\E/sds/) {
32 print "ok\n\$str is $str\n";
33 }
##18 $out=~s/\Q${rp}\E/\Q${new}\E/; -----》 这句他没有执行。。。。肿么了。。。。????各位看看吧,谢谢!!
作者: havocor 发布时间: 2011-06-28
输入文件:
$ cat n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
abc
输出:
$ perl n.pl n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
$rp is abc
$new is change
$out is abcdefg
$aaa is xxxdefg
ok
$str is csdsc
$ cat n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
abc
输出:
$ perl n.pl n
NNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNN
NNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNAAAAA
AAAAAAA
$rp is abc
$new is change
$out is abcdefg
$aaa is xxxdefg
ok
$str is csdsc
作者: havocor 发布时间: 2011-06-28
你没发现
复制代码
这里多出个空行?
- $rp is abc
-
- $new is change
作者: zhlong8 发布时间: 2011-06-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28