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


in reply to Pitfalls met while opening multiple files

The problem here is that open has a prototype, so it puts the @$_ in scalar context instead of interpolating it into the argument list.

For normal routines that can be circumvented by calling it with an ampersand, &yourroutine(@$_). Unfortunately I don't know how that works with open, neither &CORE::open(@$_) nor &open(@$_) work.

Perl 6 solves this problem by introducing a new syntax for explicitly interpolating arrays and hashes into argument lists, there it would be spelled open |@argumentlist.

Replies are listed 'Best First'.
Re^2: Pitfalls met while opening multiple files
by armstd (Friar) on Jul 24, 2011 at 23:24 UTC

    Ah yes, that makes perfect sense.

    --Dave