Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Palindrome array

by Athanasius (Monsignor)
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 browsing the Monastery: (10)
As of 2014-08-21 20:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (143 votes), past polls