Dlaczego mój chciwy regex Perla nadal nie pasuje do siebie?

Powiedzmy, że mam linię zawierającą następujący ciąg:

"$tom" said blah blah blash.  "$dick" said "blah blah blah". "$harry" said blah blah blah.

i chcę wyodrębnić

"$dick" said "blah blah blah"

Mam następujący kod:

my ($term) = /(".+?" said ".+?")/g;
print $term;

Ale daje mi to więcej niż potrzebuję:

"$tom" said blah blah blash.  "$dick" said "blah blah blah"

Próbowałem pogrupować mój wzór jako całość, używając parenów nie przechwytujących:

my ($term) = /((?:".+?" said ".+?"))/g;

Ale problem nadal występuje.

Ponownie przeczytałem sekcję Nongreedy Quantifiers w Learning Perl, ale jak dotąd nigdzie mnie nie ma.

Dziękujemy za wszelkie wskazówki, które możesz hojnie zaoferować :)

questionAnswers(4)

yourAnswerToTheQuestion