我遇到的情况是我正在从Perl中的文件中读取文件名。这些文件名从不有一个与之关联的目录,只有一个文件名(例如" foo.bar")。我需要为该文件搜索相当于gmake
的VPATH(或shell的PATH)。
我想我可以在冒号处拆分PATH,将每个段连接到文件,看看它是否存在。有没有更简单的方法来做到这一点?
答案 0 :(得分:4)
它有什么不安?
#! /usr/bin/perl
use warnings;
use strict;
use List::Util qw{ first };
sub find_in_path {
my $file = shift;
return first { -f } map "$_/$file", split /:/, $ENV{PATH}
}
print find_in_path('grep'), "\n";