|
|
1
22
使用 openhandle 函数从 Scalar::Util :
当前的实现类似于 Greg Bacon's answer 但是它还有一些附加的测试。 |
|
|
2
13
请记住,您可以这样做: $ perl -le '$fh = "STDOUT"; print $fh "Hi there"' Hi there 这是一个普通的字符串,但仍然可以用作文件句柄。
看着
source of
但有一点需要注意:
然后,一个沿着
会做你想做的。 下面的代码检查的代表
自己运行:
所有的代码都在一个Ubuntu9.10框中传递,因此关于内存中对象的警告似乎至少在该平台上不存在。 1: PASS hashref: PASS arrayref: PASS globref: PASS in-memory: PASS FH1 glob: PASS FH2 globref: PASS FH3 string: PASS STDIN glob: PASS plain read: PASS plain write: PASS FH read: PASS FH write: PASS I::F read: PASS I::F write: PASS pipe read: PASS pipe write: PASS FIFO read: PASS socket: PASS |
|
3
4
但是 任何 标量包含可以用作文件句柄的内容。字符串可以是文件句柄:它们是包句柄。
我们总是用
这就是他们的工作方式。在下面的输出中:
生成此命令的脚本包括以下内容:
这里是生成输出的脚本:
我能说什么?有时我真的很想念C预处理器。 我只是 知道 这一个会让我谈起的。艾斯 |
|
|
4
2
这是摘录 File::Copy 确定变量是否为文件句柄:
|
|
|
5
2
|
|
|
6
0
我倾向于使用:
或者可以(“打印”)在我打算写信给的情况下处理。这主要是因为我真的只想以OO方式处理文件句柄,所以这准确地解决了目标是否可以做我期望的事情。如果您已经检查了正在定义的$fh,您可能可以不进行评估。 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |
|
|
A.Ellett · 测试-t STDIN与-t<STDIN> 1 年前 |
|
|
con · 如何跳转到foreach迭代的特定点? 2 年前 |