Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: matching datetimestamps and concatenating data where timestamps match from multiple large datafiles

by Cosmic37 (Novice)
on Sep 22, 2013 at 16:40 UTC ( #1055190=note: print w/replies, xml ) Need Help??


in reply to Re: matching datetimestamps and concatenating data where timestamps match from multiple large datafiles
in thread matching datetimestamps and concatenating data where timestamps match from multiple large datafiles

Thank you all so much for your comments and guidance. Thank you to those who pointed out the very important caveat that certain logic requires monotonically increasing time within the datafiles - on this occasion this is the case thankfully.

During my experimentation I had a lot of problems with the following and I am guessing some of you will be able to tell me why as I am once again eeegnorant! The error I get is only at the second match even though $fha and $fhb get set as expected if I print them to screen. The error reported is "Use of uninitialized value in pattern match (m//) at whatever.pl line whatever, <INPUTB> line whatever". I suppose I also need to chomp the input lines before concatenating them but the point is that the match is failing and I can't see why... Many thanks in advance for any suggestions.

... open OUTPUT, $outputFile or die "Can't open $outputFile for writing $!\n"; open INPUTA, $inputFileA or die "Can't open $inputFileA for writing $!\n"; open INPUTB, $inputFileB or die "Can't open $inputFileB for writing $!\n"; while($fha=<INPUTA>){ print "a: ",$fha; if($fha=~m/(\d{2}):(\d{2}):(\d{2}).+(\d{2})(\d{2})(\d{2})\d{2}_\d{ +2}\.abc/){ $timea=timegm($3,$2,$1,$4,$5,$6); $output_line=$fha; until($timeb>$timea){ $fhb=<INPUTB>; print "b: ",$fhb; if($fhb=~m/(\d{2}):(\d{2}):(\d{2}).+(\d{2})(\d{2})(\d{2})\d{2} +_\d{2}\.abc/){ $timeb=timegm($3,$2,$1,$4,$5,$6); if($timeb=$timea){ $output_line.=$fhb; } } } print OUTPUT $output_line,"\n"; } } close OUTPUT; close INPUTA; close INPUTB;
  • Comment on Re^2: matching datetimestamps and concatenating data where timestamps match from multiple large datafiles
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1055190]
help
Chatterbox?
[Eily]: I still don't understand how the Turkish AA fit into the German+Czech joke though :P
[LanX]: new Firefox + cb sidebar do random auto expand on submit
[LanX]: probably need to start pm discussion
[LanX]: they have a constitutional referendum in turkey, kind of "do you want a dictator" and everybody opting no gets problems ...
[Corion]: LanX: Random Auto Expand?
[Corion]: LanX: Well, everybody opting "yes" will also get problems. The question is more like "Do you want problems now or problems later?"
[LanX]: and the AA had posters with a big say NO with a small "to alcohol"
[ambrus]: LanX: is it the kind of free and secret vote where there's only one box you can check?

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2017-03-27 12:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (320 votes). Check out past polls.