【发布时间】:2014-12-29 14:48:13
【问题描述】:
我正在尝试提取我的文件名,但我一直将 GLOB 作为文件名?我查看了多个回答类似问题的问题的答案,但我似乎仍然无法解决我的问题。我打开的文件是标准的 fasta 文件,格式如下,其中第一行包含序列信息,后面的行是序列。
这是我的代码
#!/usr/bin/perl
use strict;
use warnings;
#open files from data directory
opendir my $data_dir, "data" or die "Unable to open directory!";
my @files = readdir $data_dir; #reading files into array
#Taking only files with .fa extention
my @fa_files = grep /[\.][f][a]$/, @files;
my @sorted_fa_files = sort @fa_files;
#Taking each .fa and reading description line
foreach (@sorted_fa_files) {
open my $filehandle, "<", "data/$_" or die "Unable to open file!";
while (<$filehandle>) {
print "filename: $filehandle\n";
}
}
有人想吗?
【问题讨论】:
-
/[\.][f][a]$/是写/\.fa$/的一种相当复杂的方式。而opendir和readdir的整个过程是一种复杂的写法:my @sorted = sort glob "data/*.fa"。