Perl:拆分包含目录路径的变量

Perl: Splitting a variable containing a path to directory

所以我在尝试拆分具有目录完整路径的变量时遇到了问题。我想获取此路径下 'logs' 目录下的文件: '/nfs/fm/disks/fm_mydiskhere_00000/users/me/repotest/myrepo/tools/toolsdir/logs/*';

在我的 Perl 脚本中,我有一个包含此路径的变量:'$log_file'。当我打印'$log_file'时,它包含了整个路径;我想转到最后一个目录 'logs' 并获取其下的文件。顺便说一下,这个完整的路径在一个单独的配置文件中,我的 Perl 脚本正在以这种方式读取它:

sub read_file {
my ($log_file) = shift(@_);

info ("Using file : $log_file");
my $fh = new FileHandle ("$log_file");
printError ("Could not open this file : '$log_file' - $!") unless defined $fh;

my $contents;
{
    local $/ = undef;
    $contents = <$fh>;
}
$fh->close();
eval $contents;
if ($@) {
    chomp $@;
    my $msg = "BAD (perl) syntax in file:\n\n$@\n";
    if ( $msg =~ /requires explicit package name/ ) {
        $msg .= "\n  -> A 'requires explicit package name' message means".
            " a NON-VALID variable name was found\n";
    }
    die "Error: $msg\n\n";
}
return 1;

}

我在另一个子例程中使用变量 $log_file 是这样的:

my $fh = read_file ($log_file);
if ($log_file eq "abc.txt"){
while (my $line = <$fh>) {
#do something
}
}

有人可以帮我吗?我是不是遗漏了什么或以错误的方式使用了 $log_file?

提前致谢!

尝试:

my @files = glob($log_file);
use Data::Dumper;
print Dumper(\@files);