需要使用wildcards
阅读具有特定扩展名的两个文件。我需要这样的东西:
打开文件夹并读取文件
if file1 is ending with .xml
then $xmlfile = "fileName.xml"
if file2 is ending with .txt
then $txtfile = "fileName.txt"
文件名始终在文件名中包含一些non_constat_data。但它们始终以constat字符串开头,以扩展名.xml
或.txt
结束。
答案 0 :(得分:0)
你可以写这样的功能
sub first_file_of_the_type {
my $ext = shift =~ s/.*\.//r;
+(<*.$ext>)[0];
}
然后以这种方式使用它
my $xmlfile = first_file_of_the_type("fileName.xml");
my $txtfile = first_file_of_the_type("fileName.txt");
答案 1 :(得分:0)
如果我理解你,那么你想做这样的事情。
use warnings;
use strict;
opendir my $dir, "/path/to/folder" or die "Can't open directory: $!";
my @files = readdir $dir;
closedir $dir;
foreach my $file (@files)
{
if ($file =~ m/\.xml$/)
{
my $xmlfile = $file;
print "$xmlfile\n";
}
elsif ($file =~ m/\.txt$/)
{
my $txtfile = $file;
print "$txtfile\n";
}
}
这将打开文件夹并查找文件扩展名并将文件分配给变量。
注意:这不是读取文件内容。