http://www.perlmonks.org?node_id=731686


in reply to Re^7: Use of wantarray Considered Harmful
in thread Use of wantarray Considered Harmful

m//g always returns a list - what you do with that list is your decision.

Aside from the fact that it's impossible for an operator to return a list in scalar context, m//g behaves quite differently in scalar and in list context.

It can act as an iterator (which I think you consider as being the same as a list for the discussion):

while (/.../g) { ... }

But it's not an iterator in this tokenizer:

/\G( ... )/g or die; my $token1 = $1; /\G( ... )/g or die; my $token2 = $1; ...