in reply to Palindrome array

"...Why does the first code work, but not the second one? Can you help me understand..."

using this

if (@array eq (reverse scalar @array)){..
gives the result you want on the second one.
Does that help or solve the puzzle by any means?

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

Replies are listed 'Best First'.
Re^2: Palindrome array
by LanX (Saint) on Dec 29, 2012 at 17:47 UTC
    > if (@array eq (reverse scalar @array)){..

    Sorry I can't let this stand uncorrected!

    DB<108> @array=1..9 => (1, 2, 3, 4, 5, 6, 7, 8, 9) DB<109> @array eq (reverse scalar @array) => 1 DB<110> @array=0..9 => (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) DB<111> @array eq (reverse scalar @array) => "" DB<112> scalar (reverse scalar @array) => "01" DB<113> scalar @array => 10

    Cheers Rolf

      Hi LanX,

      > if (@array eq (reverse scalar @array)){..
      "..Sorry I can't let this stand uncorrected!.."
      There is really no need to be sorry, because your assertions and "tests" are so correct and right I.

      However, I believe Athanasius first caught the message I was trying to pass to the OP, in this line
      ..The string comparison operator eq puts its operands into scalar context..

      ++ LanX

      I -> Updated.

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me

        I must say I agree with the sentiment expressed by LanX: tossing a beginner a lit firecracker and saying "Does this help?" doesn't really help. I sympathize with your desire to show a pathway to an answer rather than just saying the answer, but that one was just a bit too obscure!