伙计们现在真的很困惑。我是学习Perl的新手。我读过的书有时会做Perl代码,有时会做Linux命令。
他们之间有联系吗? (Perl代码和linux命令)
我想使用Perl代码打开多个文件,我知道如何使用以下方法在Perl中打开单个文件:
open (MYFILE,'somefileshere');
我知道如何使用ls命令在Linux中查看多个文件。
那怎么办呢?我可以在perl中使用ls吗?我想打开某些文件(perl文件)没有文件扩展名可见(我不能使用* .txt等我猜)
一点帮助人
答案 0 :(得分:2)
使用system
函数执行linux命令glob
- 获取文件列表。
http://perldoc.perl.org/functions/system.html
http://perldoc.perl.org/functions/glob.html
像:
my @files = glob("*.h *.m"); # matches all files with a .h or .m extension
system("touch a.txt"); # linux command "touch a.txt"
答案 1 :(得分:0)
目录句柄也非常好,特别是对于遍历目录中的所有文件。例如:
opendir(my $directory_handle, "/path/to/directory/") or die "Unable to open directory: $!";
while (my $file_name = <$directory_handle>) {
next if $file_name =~ /some_pattern/; # Skip files matching pattern
open (my $file_handle, '>', $file_name) or warn "Could not open file '$file_name': $!";
# Write something to $file_name. See <code>perldoc -f open</code>.
close $file_handle;
}
closedir $directory_handle;