Am sure this is a very simple question, for all you guys ..

But for some reason am not able to figure out, so please forgive me if it is too simple.

Question is, why the following code is not shifting all the data out ?! and keeps the last element of the array as it is even after a full iteration through the array and shift !
@arr = ( 1, 2, 3 ); for my $x ( @arr ) { print "Shifting\n"; shift @arr; print "count: " . scalar @arr; print "data: @arr\n"; } print "\ndata: @arr";


The last print is printing 3 ? I expect it to print nothing ? Why it is not doing so ?

Can anybody explain it better !

In reply to Why does a full iteration over array & shift is not emptying the array by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.