------------------------------------------------ On Mon, 21 Jul 2003 11:38:26 -0400, "Andrew Thomas" <[EMAIL PROTECTED]> wrote:
> Of course.... I apologize - I had meant to include that. Here it is, the > actual script is quite long so I've pared it down some to try and isolate > the problem. This is the whole script now and it is still having the same > problem. > > > Text file is ~2800 lines like the following: > > Lastname, Firstname|1|137|10_3|10/13/01|...........etc. > (I have examined this carefully, and every line although very long does end > with a newline character) > > And My script includes the following: > > #!/usr/bin/perl > Always have these: use strict; use warnings; > system "clear"; Not terribly portable but that is ok. > print "Welcome to Andy's Data Processor...\n"; > > open(WRITEFILE, ">Output.txt") or die "Couldn't open WRITEFILE for > preparation."; > You should include the special variable $! in your error strings so you know WHY the file couldn't be opened. > print WRITEFILE "Patient Name|Study ID|Date of Birth|Medical Rec Num|Obs End > Date|Months of Obs|Month of Obs|Month of Year|Year|ID_Rec|CC Status|Acute > OV|ED Visits|Telemed Visits|WCC Visits|Non-Acute OV|\n"; > > print "Opening ReadFile(s)...\n\n\n"; > > open (READFILE,"events.txt") or die "Couldn't open READFILE."; > See $! above. > while(<READFILE>) { > > $string = <READFILE>; > You are reading each line into the script twice with the above construct. First you read a line into the default $_ then read the next line into $string. This is why your script appears to skip lines (a common mistake). You should combine the two. while ($string = <READFILE>) { Will do nicely. > $string =~ /^(\w+-*\w* *\w*, \w+)\|(\d+)\|(\d+)|/; > $patientName = $1; > > $studyID = $2; > > $dateOfBirth = $3; > > print WRITEFILE $patientName, $studyID, $dateOfBirth; > } > > close READFILE; > > close WRITEFILE; > > > That is the whole script - and it still outputs only half the lines. I'm > pretty much stumped - and starting to think that maybe perl isn't the best > solution for this project...... Hope someone out there can help. > Whether Perl is the best solution is always up for debate, but it is definitely a good solution. http://danconia.org -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]