gpt4 book ai didi

perl - Perl 中的裸字文件句柄包变量吗?

转载 作者:行者123 更新时间:2023-12-02 21:20:15 25 4
gpt4 key购买 nike

遗留的裸字文件句柄在全局范围内查找,它是否被解析为包变量?为什么它前面不加标点符号($)?

open FILE, 'file.txt';

最佳答案

如果您查看perldoc -f ref,您会发现数据类型比标识符号还要多。唯一定义的是

  • $ - 标量
  • @ - 数组
  • % - 哈希
  • & - 代码

其余的由上下文确定。

如果你写

package Pack;

open FH, '<', 'file';

然后FH出现在Pack符号表中作为IO变量Pack::FH。它前面没有美元 $,因为它是一个 IO 变量,而不是 SCALAR。如果前面没有 package 语句,它将被放置在默认的 main 命名空间中。所以用你的例子

open FILE, 'file.txt'

然后您可以使用完全限定的 main::FILE 来读取 FILE 句柄,如下所示

while (<main::FILE>) {
:
:
}

关于perl - Perl 中的裸字文件句柄包变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28190118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com