perl -ne 'print if /QQQQl[0-9]+/' filename
Или, если по какой-то причине вы настаиваете на использовании -0777
, вы можете сделать
perl -0777nE 'say for /QQQQl[0-9]+/g' filename
(или print "$_\n"
вместо say
)
Ваш код не работает, потому что /QQQQl[0-9]+/
возвращает true, потому что $_
действительно содержит этот шаблон, но вы никогда не просили Perl сделать что-либо на основе этого возвращаемого значения.
-n
предпочтительнее -p
в этом случае, поскольку вы не хотите печатать каждую строку, а только некоторые (-p
автоматически печатает каждую строку, и вы очень мало можете с этим поделать).