# date-manip.pl use strict; use warnings; use feature qw[ signatures ]; use Data::Dumper qw[ Dumper ]; use Date::Manip::Date; my @date_maybe = ( q[20231024.020045], q[20231024] ); for my $input ( @date_maybe ) { my $parsed = Date::Manip::Date->new( $input ); show( $input, $parsed ); } my $parser = Date::Manip::Date->new(); my ( $err, %matched ) = $parser->parse_format( q[%Y%m%d\.%H%M%S], $date_maybe[0] ); print Dumper( [ $err, \%matched ] ); exit; sub show( $input, $parsed ) { if ( my $err = $parsed->err() ) { warn qq[Error during parsing $input: $err\n]; } my $cooked = $parsed->value(); print qq[$input was parsed to $cooked\n]; # Too long of a dump. #print Dumper( $parsed ); }