当我运行脚本时,我得到的结果是“”:
use File::Basename;
my @dirs = grep { fileparse($_) =~ /^[L|l]ib/ }
split /\n/, dir e:\\/ad/b/s;
print @dirs; 这是我真正的密码。我正在尝试grep目录和子目录,这些目录和子目录在整个驱动器中具有名称lib或Lib。
发布于 2009-12-01 07:22:48
任何事情。
split,因为它会以列表的形式出现。[L|l]是你认为的意思。如果您只是指大写"L“或小写"l",则不需要替换符号。正确的表达式是[Ll] (或(?i:l)ib,这意味着我们为组本地化i标志。)。
所以如果是这样的话:
use File::Basename;
my @dirs = grep { fileparse($_) =~ /^[Ll]ib/ } qx{dir /AD /B /S e:\\};如果有什么与此相匹配的话,那应该是可行的。只需确保您使用的是qx运算符或backticks。
https://stackoverflow.com/questions/1824240
复制相似问题