如何从Perl中的目录中分辨文件
16lz
2021-01-22
假设您正在构建一个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中
- 如何用C++读取ini文件中的Section节名
- C++实现逐行读取txt文件中的字符串以及文件文本的复制
- C# 快速手动构建文件服务器
- asp是什么文件格式
- asp文件用什么打开
- asp.net怎么使用js文件
- stdio.h是什么头文件
- c语言的文件存取方式只能是顺序存取?