+ -
当前位置:首页 → 问答吧 → PERL 的正则如何引用变量

PERL 的正则如何引用变量

时间:2010-10-18

来源:互联网

有一个脚本a.pl

内容
#!/usr/bin/perl -w
my @value_line=(1,2);
my @file=("1.txt","2.txt")
my $y_avg=50;

`perl -pi -le 's/$_/$_ "$y_avg"/ if $.=="$value_line[0]"' $file[0]`


请问执行的时候为何报
Use of uninitialized value in concatenation (.) or string at ./analyse.pl line 57.

作者: ztj2247   发布时间: 2010-10-18

本帖最后由 zhlong8 于 2010-10-18 23:10 编辑

``中$_被替换了,\$_ 试下?替换不替换只看最外面的引号的,``是要替换的,如果无须替换用 qx''

作者: zhlong8   发布时间: 2010-10-18



QUOTE:
``中$_被替换了,\$_ 试下?替换不替换只看最外面的引号的,``是要替换的,如果无须替换用 qx''
zhlong8 发表于 2010-10-18 23:07




    OK了
顺便问一下 PERL中如何进行浮点数比较

比如我 判断
my $a=3.132

if($a==0)

系统提示
Argument ""3.132"" isn't numeric in numeric eq (==) at .

作者: ztj2247   发布时间: 2010-10-18

应该是你的typo,只有在打开warnings而且把字符串当数字用时字符串不是标准的数字表示格式才会出这个警告。比如你写成 $a="312.+"; 之类的错误。

作者: zhlong8   发布时间: 2010-10-18