我试图写一个Perl模块,这需要另一个文件作为输入并打印所有使用的语句(除严格和警告)的grep或地图,找到在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;
返回包1,包2,严格的,警告。
我可以知道如何更正第一条语句中的正则表达式吗?
感谢
这仅仅是一个学习正则表达式和map/grep的测试用例,还是你实际上试图找到use/require语句?如果后者有这样做的模块。 – 2013-03-26 03:57:20
@JoelBerger后者。你能指出我正确的方向吗?谢谢 – psy 2013-03-26 05:51:14
Schwern似乎打败了我。这说,看看我的评论。 – 2013-03-26 12:39:24