如何从Perl中的目录中分辨文件
时间:2019-01-21 17:32
假设您正在构建一个Perl脚本来遍历文件系统并记录它找到的内容。当您打开文件句柄时,您需要知道您是在处理实际文件还是处理目录,您可以区别对待。你想要一个目录,所以你可以继续递归地解析文件系统。从目录告诉文件的最快方法是使用Perl内置的文件测试操作。Perl具有可用于测试文件不同方面的运算符。-f运算符用于标识常规文件而不是目录或其他类型的文件。
推荐参考学习:《Perl教程》
使用-f文件测试操作员
#!/usr/bin/perl -w $filename = '/path/to/your/file.doc'; $directoryname = '/path/to/your/directory'; if (-f $filename) { print "This is a file."; } if (-d $directoryname) { print "This is a directory."; }
首先,创建两个字符串:一个指向文件,另一个指向目录。接下来,使用-f运算符测试$ filename,它检查某些内容是否为文件。
这将打印“这是一个文件”。如果在目录上尝试-f运算符,则不会打印。
然后,对$ directoryname执行相反的操作,并确认它实际上是一个目录。将它与目录glob 相结合,以排序哪些元素是文件,哪些是目录:
#!/usr/bin/perl -w @files = <*>; foreach $file (@files) { if (-f $file) { print "This is a file: " . $file; } if (-d $file) { print "This is a directory: " . $file; } }
本篇文章就是关于从Perl中的目录中分辨文件的方法介绍,希望对需要的朋友有所帮助!
以上就是如何从Perl中的目录中分辨文件的详细内容,更多请关注gxlsystem.com其它相关文章!