我在以下perl
代码中遇到了一个错误:
#!/usr/bin/perl
open $fh, '>', 'myfile.txt' or die;
s|(.*)|print $fh "Hello",$1," how are you"|e;
close $fh or die
在./script.pl第3行,发现字符串出现在操作符的位置,附近是"$fh "Hello""("Hello"前面缺少操作符?)
我使用s|(.*)|...|e将字符串的开头再次写入,例如Hello Hello。
期望的输出文件myfile.txt是:
Hello Hello, how are you?
有没有办法使它与实际操作一起运行?
还是必须以另一种方式更改s|(.*)|...|e操作?
s|(.*)|print {$fh} "Hello",$1," how are you";|e;
。但更好的代码应该是:s|(.*)|Hello,$1, how are you|; print $fh $_;
。 - Corion