我正在尝试编写一个 perl 模块,该模块将另一个文件作为输入并打印所有使用语句(严格和警告除外)
my @result = grep /use\s+([^;(strict|warnings)]+)/, @file;
这打印:
use Package1;
use Package2;
但是我只想要“Package1”部分。所以当使用地图时:
my @result = map /use\s+([^;(strict|warnings)]+)/, @file;
这会返回错误的值。(返回前 2 或 3 个字符)
my @result = map /use\s+([^;]+)/, @file;
返回 Package1、Package2、strict、警告。
我可以知道如何更正第一个 map 语句中的正则表达式吗?
谢谢