$ perl -Mstrict -Mwarnings -MPOSIX=strftime -e ' my $mno = 0; my %monthLookup = map { $_ => $mno ++ } qw{ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec }; open my $inFH, q{<}, \ < ) { my $date = ( split m{,} )[ 0 ]; my( $d, $m, $y ) = split m{-}, $date; print strftime( qq{$date is day %j\n}, 0, 0, 0, $d, $monthLookup{ $m }, $y - 1900 ); }' 1-Apr-2012 is day 092 2-Apr-2012 is day 093 3-Apr-2012 is day 094 $