sub unpad_datestring { ## Strip the leading 0s from the day and month portions of ## a YMD-style datestring. ## The only mandatory argument is the date string itself, ## which assumes the string is delimeted by a slash and ## ordered American-style ( MDY ). If that assumption is ## wrong, you can override either or both via the 'delim' ## and 'order' arguments ... ## '07/04/2001' ## '04/07/01', 'order' => [qw( d m y )] ## '01.07.04', 'order' => [qw( y m d )], 'delim' => '.' my $date = shift or return; my %args = ( 'order' => [qw(d m y)], 'delim' => '/', @_, ); my @date = split /\Q$args{'delim'}/, $date; for ( my $x = 0; $x < @date; $x++ ) { $date[$x] = int $date[$x] if lc $args{'order'}->[$x] =~ /^[dm]$/; } return join $args{'delim'}, @date; }