use POSIX qw(strftime); my @formats = ( undef, '%Y-%m-%d %H:%M:%S', '%m%d%Y', '%y%m%d', '%d%m%y', '%Y%m%d%H%M%S', '%Y%m%d', '%d/%m/%Y. %H:%M:%S', '%Y%m%d%H%M', '%d/%m/%Y', ); sub TimeStamp { my $f = shift; return strftime($format[$f], localtime); }