in reply to Re: process array with while loop
in thread process array with while loop

I was going to reply with "map in void context, for shame", but then I learned something!

Replies are listed 'Best First'.
Re^3: process array with while loop
by shawnhcorey (Friar) on Nov 10, 2006 at 15:39 UTC
    Except that print is not a void context. Therefore the map will create a list.
    #!/usr/bin/perl use strict; use warnings; my $a = ( print "Hello world\n" ); print "The answer is $a\n"; __END__
    See `perldoc -f print` for details.
      Except that print is not a void context.

      I think you might be misunderstanding. blahblah wasn't talking about the call to print. He was talking about the call to map ("map in a void context"). And the call to map is in a void context - its return value doesn't go anywhere. But as he also pointed out, that's no longer a problem. Or, at least, it's not a problem from a technical point of view. I'd still argue that it's not the clearest way to write the code.

      --
      <http://dave.org.uk>

      "The first rule of Perl club is you do not talk about Perl club."
      -- Chip Salzenberg