in reply to Re^3: shift in list context buggy?
in thread shift in list context buggy?

> ... when used in a void context!

And where is this supposed to be documented?

splice doesn't even mention "void".

Cheers Rolf

( addicted to the Perl Programming Language)

Replies are listed 'Best First'.
Re^5: shift in list context buggy?
by BrowserUk (Patriarch) on Nov 12, 2013 at 15:24 UTC
    splice doesn't even mention "void".

    No, but the equivalence documentation you cite shows all examples in void contexts.

    And in that context, the examples -- designed to explain the somewhat complex behaviour of splice in terms of the readily understandable push, pop, shift & unshift -- are exactly equivalent. Ie. Their affect on the running programs are identical.

    But those examples are meant to explain splice in terms of the simpler operations -- not the other way around.

    You are the only person who is trying to misinterpret these simple examples of equivalence within the very restricted context in which they are show -- all void; ie. devoid of any assignments or if or while statements -- in an obscure part of the documentation, to be some definitive statement that was never intended, in support of conclusions that do not stand up and have zero merit.

    Worse thing is; you know it; but you keep on bleating away at it....


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      > No, but the equivalence documentation you cite shows all examples in void contexts.

      Obviously wrong!

      Again! Please quote otherwise and provide a link!

      Cheers Rolf

      ( addicted to the Perl Programming Language)

        Please quote ...

        Why? You already posted the examples. But since you seem to have a short memory:

        The following equivalences hold (assuming $[ == 0 and $#a >= $i ) push(@a,$x,$y) splice(@a,@a,0,$x,$y) pop(@a) splice(@a,-1) shift(@a) splice(@a,0,1) unshift(@a,$x,$y) splice(@a,0,0,$x,$y) $a[$i] = $y splice(@a,$i,1,$y)

        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
        div class=
Re^5: shift in list context buggy?
by Anonymous Monk on Nov 12, 2013 at 14:53 UTC
    Funny LanX
    shift(@a) splice(@a,0,1)
    shift is equivalent to splice ONE
      > shift is equivalent to splice ONE

      Nope, not in list context, read the OP again....

      Cheers Rolf

      ( addicted to the Perl Programming Language)

        No, you. Thats the only place in docs equivalence is claimed, no other place.