Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Parse chat & File::find

by wfsp (Abbot)
on Jan 31, 2013 at 16:29 UTC ( #1016354=note: print w/ replies, xml ) Need Help??


in reply to Parse chat & File::find

You often need to do something to a line depending on what is on the next line. One way to go is to store a line, move to the next line, decide what to do and then store the current line as appropriate.

#! /usr/perl/bin use warnings; use strict; my $skip = 0; my $last_line = <DATA>; chomp($last_line); while (my $current_line = <DATA>){ chomp($current_line); if ($current_line =~ /^\d{4}-\d{2}-\d{2}/){ if (not $skip){ print $last_line, qq{\n}; } else{ $skip = 0; } $last_line = $current_line; } else{ print $last_line, qq{ }, $current_line, qq{\n}; $skip = 1; } } print $last_line, qq{\n}; __DATA__ 2013-01-01 user1 user2 chat chat 2013-01-02 user3 user4 more chat more chat 2013-01-03 user5 user6 nazi nazi chat chat nazi 2013-01-04 user 7 user8 see you in the pub
2013-01-01 user1 user2 chat chat 2013-01-02 user3 user4 more chat more chat 2013-01-03 user5 user6 nazi nazi chat chat nazi 2013-01-04 user 7 user8 see you in the pub
Boy, am I rusty. It hurt my head getting that to compile and run. :-)

Updated: Reset the $skip flag.


Comment on Re: Parse chat & File::find
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1016354]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2015-07-05 16:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls