I posted a problem to the mailing list with a similar question I had some
time ago regarding replacing data between fields. Unfortunately, I am
having a difficult time with the problem. I am including the code and a
sample of the data. Could someone please give me a clue as to why this is
not working. I have exhausted myself before re-contacting the list. When
I run the code, the file remains exactly the same and nothing is changed
or
replaced.
######################## BEGIN CODE ##########################
#!/usr/bin/perl
use warnings;
use strict;
use LWP::Simple;
my $file10 = "C:/Test_Folder/test_data/input.txt";
#declare the input
file as the static file name
open(FILE,"<$file10") || die "Could not open file for reading!
$!"; #open file for reading
open(TEMP,">$file10.tmp") || die "Could not open file for writing!
$!"; #open file for writing
while(<FILE>){ #begin while
s{ (?<=HOW) (.+?) (?=NUMBER:) } { ( $a = $1 ) =~ tr/\t/ /; $a
}ex;
print TEMP $_; #print result to temp file
} #end while
#Close the files. This should happen automatically, but the routine is
written for safety
close FILE || die "Could not close file! $!";
close TEMP || die "Could not close file! $!";
unlink $file10;
#remove the old file
rename("$file10.tmp",$file10) || die "The file could not be renamed!
$!"; #rename the temp file to the old file's name
##################### END CODE #####################################
Here is a sample of the data file:
Name:<tab>John Smith<tab>Address: 1234 Sparrow Ave.<tab>HOW MANY CHILDREN:
3<tab>NUMBER OF PETS: 2<tab>TYPE OF PETS: Fish, Dog<tab>FAVORITE NUMBER:
13<tab>City: New York<tab>State: New York<tab>Zip: 11011
Obviously, I do not want all of the useless information between Address
and City. I want to delete everything between HOW and NUMBER: (including
the HOW and NUMBER:<tab>) So my file will look like this:
Name:<tab>John Smith<tab>Address: 1234 Sparrow Ave.<tab>City: New
York<tab>State: New York<tab>Zip: 11011
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]