我在使用以下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
的预期输出是
你好,你好吗?
有没有一种方法可以使它以实际操作运行?
还是我必须以其他方式更改s|(.*)|...|e
操作?
答案 0 :(得分:5)
有趣的是,有效的方法是将文件句柄括在大括号中:
s/(.*)/print {$fh} "Hello",$1," how are you"/e;
无论如何始终使用它们是一个好习惯。