Acme-Palindrome
view release on metacpan or search on metacpan
lib/Acme/Palindrome.pm view on Meta::CPAN
open 0 or print "Can't reverse '$0'\n" and exit;
(my $code = join "", <0>) =~ s/.*^\s*use\s+Acme::Palindrome\s*;\n//sm;
local $SIG{__WARN__} = \&is_forward;
do {eval forward $code; exit} if is_backward $code;
open 0, ">$0" or print "Cannot reverse '$0'\n" and exit;
print {0} "use Acme::Palindrome;\n", backward $code and exit;
sub palindrome {
my $max = 0;
length > $max && ( $max = length ) for @_;
return join "\n",
map sprintf( "%${max}s", scalar reverse $_ ),
reverse @_;
}
1;
__END__
=head1 NAME
( run in 0.596 second using v1.01-cache-2.11-cpan-65fba6d93b7 )