aboutsummaryrefslogtreecommitdiff
path: root/challenge-114/dave-jacoby/perl/ch-1.pl
blob: 83f03e1f47abcab0c045a3e5c386a222e0b14d12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env perl

use strict;
use warnings;
use feature qw{ say state postderef signatures };
no warnings qw{ experimental };

my @list = ( 1234, 999 );
@list = @ARGV ? @ARGV : @list;

for my $n (@list) {
    my $p = next_palindrome($n);
    say <<"END";
    Input:  $n
    Output: $p
END
}

sub next_palindrome ( $n ) {
    while (1) {
        $n++;
        my $r = 0 + reverse_string($n);
        return $n if $n == $r;
    }
}

sub reverse_string ( $s ) {
    return scalar reverse $s;
}