Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Palindrome array

by Athanasius (Abbot)
on Dec 29, 2012 at 06:04 UTC ( #1010792=note: print w/ replies, xml ) Need Help??


in reply to Palindrome array

The string comparison operator eq puts its operands into scalar context:

#! perl use warnings; use strict; use 5.010; say 'equal' if context('1') eq context('2'); sub context { my $c = (defined wantarray) ? (wantarray ? 'list' : 'scalar') : 'void'; say '(', shift, '): is in ', $c, ' context'; return 42; }

Output:

15:56 >perl 457_SoPW.pl (1): is in scalar context (2): is in scalar context equal 15:56 >

So, neither code snippet is doing what you want. The first compares the sizes of the two arrays. The second compares the size of @array with the value returned by reverse, which

In scalar context, concatenates the elements of LIST and returns a string value with all characters in the opposite order.

To compare the contents of the two arrays, use the smart match operator ~~. See How do I test whether two arrays or hashes are equal?

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,


Comment on Re: Palindrome array
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010792]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (10)
As of 2015-07-29 09:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (263 votes), past polls