in reply to Compare two dates

Your code has some bugs in it.. I would do it like this :

use strict; my $d1 = '2019-06-08'; my $d2 = '2019-06-08'; my $RESULT = $d2 cmp $d1; if ($RESULT > 0) { print "\n$d1 is smaller.\n"; } elsif ($RESULT < 0) { print "\n$d1 is larger.\n"; } else { print "\nThe dates are equal!\n"; }

Replies are listed 'Best First'.
Re^2: Compare two dates
by Laurent_R (Canon) on Jul 22, 2019 at 22:54 UTC
    Yeah, that's correct, but it is slightly more complicated than it needs to be. Using the lt and gt string comparison operators is a bit simpler:
    my $d1 = '2019-06-08'; my $d2 = '2019-06-08'; if ($d1 lt $d2) { print "\n$d1 is smaller.\n"; } elsif ($d2 gt $d1) { print "\n$d1 is larger.\n"; } else { print "\nThe dates are equal!\n"; }
    Or:
    my $d1 = '2019-06-08'; my $d2 = '2019-06-08'; print $d1 lt $d2 ? "$d1 smaller" : $d1 gt $d2 ? "$d1 larger" : "Dates are equal";