sub is_leap { my $y = shift; return (!($y % 100) && !($y % 400)) || (($y % 100) && !($y % 4)); }