Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: Syslog files revisited

by johngg (Abbot)
on Aug 03, 2012 at 09:11 UTC ( #985197=note: print w/replies, xml ) Need Help??

in reply to Re^2: Syslog files revisited
in thread Syslog files revisited

... but it gives me the problem that the variable message at the end gets split up into an indeterminate number of csv values ...

No, the third parameter to split limits the number of resultant fields so the $remainder scalar variable holds the entirety of your variable message.



Replies are listed 'Best First'.
Re^4: Syslog files revisited
by stevbutt (Novice) on Aug 03, 2012 at 16:09 UTC

    Thats great and thank you very much for your help. I have one further issue though. My existing code now looks like this

    #!/usr/bin/perl use 5.010; use strict; use warnings; while (my $line = <STDIN>) { 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; }

    As I wanted the remainder to be in double quotes so it would read in as one field. The problem is that remainder sometimes already contains double quotes which I would like to remove or replace with single quotes

    I tried the following but it leaves be with an empty set of double quotes

    my $remainder =~ s/""\"\""/\'/g;

      Sorry to bother anyone with such trivial stuff, I played and found the the following worked

      $remainder =~ tr/"/'/d;

      Many Thanks

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://985197]
[zentara]: See problems with Nvidia and Linus Torvalds
[choroba]: that's 2012
[zentara]: I just acquired a computer with the card type, and wondered if it was best to stick with the open-source code or use NVIDIA's proprietary code
[zentara]: do you feel good about a non-open-source code, being in control of your display functions?
[choroba]: If you're not going to play 3d games on it, using the open source driver should be enough

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (12)
As of 2017-05-26 13:58 GMT
Find Nodes?
    Voting Booth?