标题是非常自我解释的,perl中是否有文件测试函数,或者是否有允许文件测试操作的内置模块?
答案 0 :(得分:0)
这是一个非问题-T
,就像所有文件测试运算符都是perl builtins一样。
这里记录了它们:perldoc -X
-X FILEHANDLE
-X EXPR
-X DIRHANDLE
-X
文件测试,其中X是下面列出的字母之一。这个一元运算符接受一个参数,可以是文件名,文件句柄或dirhandle,并测试相关文件以查看是否有关于它的内容。如果省略参数,则测试
$_
,-t
除外,测试STDIN
。除非另有说明,否则返回1
表示true,''
表示false,如果文件不存在,则返回未定义的值。尽管有趣的名称,优先级与任何其他命名的一元运算符相同。...
-T
文件是ASCII文本文件(启发式猜测)。
-B
文件是“二进制”文件(与-T
相反)。
答案 1 :(得分:0)
"文件测试" Perl中可用的函数是编程语言本身的一部分。根据您所说的内容以及本页面上的评论,可能是您被要求不使用外部命令"因为有人认为-T标志依赖于属于底层环境的东西,而不是Perl语言。
-T是Perl固有的-X文件测试一元运算符的一部分:
http://perldoc.perl.org/functions/-X.html
-T运算符(具体)的基础是函数pp_fttext
,它位于pp_sys.c
。这些是构成Perl的底层代码的一部分,您可以通过查看Perl源代码分发的根目录来验证这一点:
这可能是你最初要求的唯一方法(如何在没有-T的情况下执行此操作)可以做你被要求不做的事情(使用Perl外部的东西来执行测试)。