in reply to Re: Re: interleave two arrays
in thread interleave two arrays

Hmmm ... this works for me with no comments from perl:

use strict; use warnings; my @foo = ( 1 , 3 , 5 , 7 ); my @bar = ( 2 , 4 , 6 , 8 ); print STDOUT my @baz = map { ( $_ , shift @bar ) } @foo;
I originally had a problem with `uninitialized' warnings when trying to reproduce your problem but it turned out to be because I had
[ ... stuff ... ] my @baz = map { ( $_ , shift @bar ) } @foo; print STDOUT my @baz = map { ( $_ , shift @bar ) } @foo;
This, of course, eats up @bar the first time so there's nothing left to shift the second time. :(

What's on your lines 1 and 2?

As for the general problem of warnings, I only turn warnings off for short one-shot scripts that I know will work even though I wrote bad code. Or, rather, I ignore them unless they get in the way of the output.

I've never encountered a warning (from perl) that wasn't justified so if I'm doing anything at all important I eliminate them.