while (@lastnotpop)
{
$current_element = pop(@lastnotpop);
print "Just Popped $current_element\n";
}
This does what you want via pop. For a while loop, leave the array as it is, and just iterate through it.
Enjoy,
Chris
On Monday, December 2, 2002, at 05:31 AM, Paul Johnson wrote:
PRADEEP GOEL said:If i am not wrong somewhere , there is a bug come to my notice , in PERLThis is a case of "Doctor, it hurts when I ...".
@lastnotpop = ("where_gone_me","remaining_is_alright","no_fear_now");
foreach $faltu (@lastnotpop) #$faltu is extra doesn't makes difference
even if removed
{ $pch = pop(@lastnotpop );
print " \n can't pop last one from @lastnotpop i.e.($lastnotpop[0] )
:
popped element is $pch #";
}
If there are more than one elemnt in a array(say @lastnotpop than the
last/first element i.e.
$lastnotpop[0] can't be popped out in this single foreach loop.
I don't think it's intensional feature , else it should also not be able
to pop the only
element , if it has one , but it does.
If you look in perlsyn, under the heading "Foreach Loops", you will see:
If any part of LIST is an array, C<foreach> will get very confused if
you add or remove elements within the loop body, for example with
C<splice>. So don't do that.
--
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]