← eetop.cn_Perl语言入门(第四版小骆驼书)

推荐答案 测试一下

5使用特殊的下划线文件句柄 ................................ ................................ ................................ ......…

问答题 中等 经典问答问答题

参考答案

在 Perl 中,特殊文件句柄 `_`(下划线)用于缓存上一次 stat、lstat、-X 文件测试操作的结果。当对同一个文件进行多次文件测试(如 -e、-f、-d、-s 等)时,使用 `_` 可以避免重复的系统调用,提高效率。例如:`my $size = -s 'file'; my $mtime = (stat(_))[9];` 等价于先做 -s,然后使用 `_` 获取 stat 信息。注意:`_` 只保存最后一次 stat/lstat 或文件测试的结果,不能跨函数调用;对目录打开句柄、网络套接字等不适用。易错点包括:在调用其他可能改变系统状态的操作后使用 `_` 会导致结果不准确;`_` 不能用于文件打开操作(如 open);在并发环境下需谨慎。

涉及知识点

  • Perl 特殊文件句柄 _ 的定义
  • stat/lstat 缓存的机制与性能优化
  • 文件测试操作符与 _ 的配合使用
  • 使用 _ 的局限性与注意事项
  • 区分 _ 与普通文件句柄的差异
← 上一题
登录后反馈错题
下一题 →