in reply to Backtracking for substitutions

Are all the names guaranteed to start with capitals?
Are all the logins lowercase only?

If you you can match on the case variation this works:

foreach (<>) { s/\s+(?=[a-z])/,/; s/\b([a-z]+)\s/$1,/; s/\b\s+\b(\d\d\/)/,$1/g; s/(:\d\d)\s\b/$1,/g; }

It ain't purty but it works.

--
$you = new YOU;
honk() if $you->love(perl)