Dear Perl Gurus,
Still struggling here...
The problem is the data in the middle of the match is on multiple lines.
Please reply directly and CC the list.
Thanks,
D.G.
(kora musician / audiophile / webmaster @ www.coraconnection.com / Ft. Worth,
TX, USA)
>>
I am having a little trouble understanding matching and getting the sub pattern
saved to a Var. so that I can do a munge. I want to take the line returns and
change them into
pipe characters '|'
All data records start with a date i.e. 01/01/2006
But there are fields in between that are one multiple lines. Sample data is
below the script.
Here's what I have so far.... Revised sill not working!
#!/usr/bin/perl -w
open(FI,"test.txt") || die "Read in, Could not find File, $!";
my @files = <FI>;
close(FI);
for (@files){
chomp($_);
#!/usr/bin/perl -w
open(FI,"test.txt") || die "Read in, Could not find File, $!";
my @files = <FI>;
close(FI);
for (@files){
chomp($_);
@match = ($_ =~ m!(\d+\/\d+\/\d+)(.+?)(?=\d+/\d+/\d+)!);
$match[1]=~tr/\n/|/;
print "$match[0]$match[1]\n";
print "#"x10, "#";
#rename($old,$_);
}
# save out modified result...
}
Given this data:
09/01/2006|03:29AM Password for qsocordovam reset by Self Reset utility
Username: qsocordovam
ClientNumber: 77927
IP address: 24.248.1.241
09/01/2006|07:53AM Failed reset attempt
Username: tmpcollic03
ClientNumber: 110330
IP address: 152.121.16.7
Failed challenge question(s)
09/01/2006|07:55AM Failed reset attempt
Username: tmpcollic03
ClientNumber: 110330
IP address: 152.121.16.7
Failed challenge question(s)
09/01/2006|08:03AM Failed reset attempt
Desired result:
09/01/2006|03:29AM Password for qsocordovam reset by Self Reset
utility|Username: qsocordovam|ClientNumber: 77927|IP address: 24.248.1.241
#Next record.... starts with a date of format : 09/01/2006
__END__
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>