Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
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?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (5)
As of 2014-09-18 22:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (126 votes), past polls