打印到用perl S / ... / ... / E文件描述符

问题描述 投票:3回答:1

我遇到与以下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号线,近“$跳频‘你好’” (缺少操作符“喂”过吗?)

我用的是s|(.*)|...|e写入字符串的开始另一次,像Hello Hello

预期输出的文件myfile.txt

你好你好,你怎么样?

有没有一种方法,使之与实际操作运行?

或者我必须改变以另一种方式s|(.*)|...|e操作?

perl
1个回答
5
投票

有趣的是,什么样的工作原理是用花括号中的文件句柄:

s/(.*)/print {$fh} "Hello",$1," how are you"/e;

它总是使用它们,反正一个很好的做法。

© www.soinside.com 2019 - 2024. All rights reserved.