[英]How can I open a file in Perl using a wildcard in the directory name?
我需要从一个目录中打开一个名为OrthologousGroups.txt
的文件,该目录是根据创建它的日期命名的。 例如./Results_2016-2-7
有没有办法在路径名中使用通配符来访问我需要访问的文件?
我尝试了以下内容
open(FILE, "./Results*/OrthologousGroups.txt");
但是我收到了一个错误
关闭文件句柄上的readline()
使用glob
获取与glob模式匹配的文件名列表:
my @files = glob "./Results*/OrthologousGroups.txt";
if (@files != 1) {
# decide what to do here if there are no matching files,
# or multiple matching files
}
open my $fh, $files[0] or die "$! opening $files[0]";
# do stuff with $fh
作为一般说明,您应该检查open是否成功 ,而不是简单地假设它已经成功,那么当您实际上没有首先打开文件时,您将不会获得“readline on closed filehandle”错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.