#!/usr/bin/perl use 5.010; use strict; use warnings; while (my $line = ) { chomp($line); my ( $mon, $day, $time, $dom, $login, $remainder ) = split m{:?\s+}, $line, 6; my %monthNos = do { my $no = 0; map { $_ => ++ $no } qw{ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec }; }; my $yr = q{2012}; my $csv = sprintf q{%02d/%02d/%s %s,%s,%s,"%s"}, $day, $monthNos{ $mon }, $yr, $time, $dom, $login, $remainder; say $csv; }