in reply to parse a log file

The only difference I can see between your current output and your desired output is that 1) the directory path is much longer in the what you are getting now and 2) there are caret characters after the path and after the user name.

I would like to help you but it's difficult to see how you might handle problem #1 without more information from you. What part of the path are you trying to chop? Is the path you want to get rid of the same every time?

As far as problem #2, that could be handled with a simple RE expression similar to what you have already used: s/\^//g; Note the escaped caret to turn it into a literal instead of getting it interpreted as a metacharacter by the Perl RE engine.

One little note, I prefer to use the while(<FILE>) syntax to grab the lines from a file. It will automatically detect the end of the file so there is no need to test to see if the line defined manually. It's a nifty shortcut built into Perl.

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop";
$nysus = $PM . $MCF;
Click here if you love Perl Monks