O arquivo parece
[N the computer end] [M whatever] [N you look] [N why not]
Eu só preciso das palavras entre parênteses que começam com [N
então aqui eu quero pegar o computador final você olha por que não eles podem ou não na mesma linha
Eu tentei algo assim:
if($line =~/[N(.+?)]/)
mas corresponde apenas ao primeiro de cada linha.
Respostas:
4 para resposta № 1Use o g
modificador na expressão regular para procurar correspondências globais "g". Ou assim:
while ($line =~ /[N(.+?)]/g) {
# $1 contains the text between "[N" and "]"
}
Ou assim:
my @matches = $line =~ /[N(.+?)]/g;
# @matches contains all of the matching items of text
0 para resposta № 2
Você precisará alterá-lo para um loop while para iterar a cada partida do grupo. Documentação Perl ilustra isso.