http://www.perlmonks.org?node_id=577383


in reply to Re: palindrome using regular expressions
in thread palindrome using regular expressions

You don't have to split. reverse can also handle strings:

#!/usr/bin/perl use strict; use warnings; my $palindrome = 'lagerregal'; my $check = reverse $palindrome; print "yes\n" if $check eq $palindrome;
(see perldoc -f reverse)

Replies are listed 'Best First'.
Re^3: palindrome using regular expressions
by Hofmator (Curate) on Oct 10, 2006 at 12:11 UTC
    Yes, you are absolutely right. Thanks for the correction.

    In fact, I also thought that reverse worked on strings and so I tried print reverse 'hello' which returns hello. From that I (incorrectly) concluded that it doesn't work ... well, got bitten by list context again, print scalar reverse 'hello' does the job OK :)

    -- Hofmator

    Code written by Hofmator and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      exactly.

      reverse is aware of its context; if you use it in string context ($reverse = reverse ...), it reverses the string; but if you use it in list context (print reverse ... or @array = reverse ..), it reverses the list (and does nothing if the list only has one element

      Best regards,
      perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"