0

伙计们我现在真的很困惑。我是学习 Perl 的新手。我读的书有时做 Perl 代码,有时做 Linux 命令。

他们之间有什么联系吗?(Perl 代码和 linux 命令)

我想使用 Perl 代码打开多个文件,我知道如何在 Perl 中使用以下方法打开单个文件:

open (MYFILE,'somefileshere');

我知道如何使用 ls 命令在 Linux 中查看多个文件。

那么如何做到这一点呢?我可以在 perl 中使用 ls 吗?我只想打开某些文件扩展名不可见的文件(perl 文件)(我猜我不能使用 *.txt 等)

小伙伴们的帮助

4

2 回答 2

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"
于 2013-05-10T02:08:26.437 回答
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;
于 2013-06-20T22:14:30.380 回答