Kindly help to separate my records from the file



I know i have been repeating this for a while now.
I want to separate each record of this log file so that at i can print a
key and put the values under each key in preparation for insertion into
the database.

If I run the code below, it gives me the whole record as one but I need
to separate them.
please assist.

Goksie

#!/usr/bin/perl
use strict;
use warnings;

$/ = "\n\n"; # Specify the record separator as 2 new lines..
my $fn = 'detail-20070423_1.txt';
open my $fh, '<', $fn or die $!;
my %h;
while(<$fh>){
if(/^\s+$/){
s/^\s+$/==================/;
}else{
act();
}
}
sub act{
my %h;
foreach (split /\n/){
my ($key, $val) = split /=/;
$h{$key} = $val;
print $h{$key};
}
}


Extract from the detail-20070423_1.txt

Mon Apr 23 00:00:24 2007
NAS-IP-Address = 10.220.42.41
Quintum-NAS-Port = "0 0/0/c1dc2a26"
NAS-Port-Type = Async
User-Name = "10.220.42.38"
Called-Station-Id = "8613508208079"
Calling-Station-Id = ""
Acct-Status-Type = Stop
Acct-Delay-Time = 0
Acct-Input-Octets = 0
Acct-Output-Octets = 0
Acct-Session-Id = "000000C0000012F5"
Acct-Session-Time = 0
Acct-Input-Packets = 0
Acct-Output-Packets = 0
Service-Type = Login-User
Quintum-AVPair = "h323-ivr-out=ACCESSCODE:8613508208079"
Quintum-h323-conf-id = "34363262 65383833 32656366 00340000"
Quintum-AVPair = "h323-incoming-conf-id=34363262 65383833 32656366
00340000"
Quintum-h323-gw-id = "mygate"
Quintum-h323-call-origin = "answer"
Quintum-h323-call-type = "VoIP"
Quintum-h323-setup-time = "22:58:10.220 UTC Sun Apr 22 2007"
Quintum-h323-connect-time = "22:59:09.550 UTC Sun Apr 22 2007"
Quintum-h323-disconnect-time = "22:59:09.550 UTC Sun Apr 22 2007"
Quintum-h323-remote-address = "10.220.42.38"
Quintum-h323-disconnect-cause = "1f"
Quintum-h323-voice-quality = "0"
Quintum-Trunkid-In = "10.220.42.38"
Quintum-Trunkid-Out = "10.15.115.79"
h323-incoming-conf-id = "34363262 65383833 32656366 00340000"
Client-IP-Address = 10.220.42.41
Acct-Unique-Session-Id = "87d380e1881d226c"
Timestamp = 1177282824

Mon Apr 23 00:00:39 2007
NAS-IP-Address = 10.220.42.41
Quintum-NAS-Port = "0 0/0/c1dc2a26"
NAS-Port-Type = Async
User-Name = "10.220.42.38"
Called-Station-Id = "12508632152"
Calling-Station-Id = ""
Acct-Status-Type = Stop
Acct-Delay-Time = 0
Acct-Input-Octets = 0
Acct-Output-Octets = 0
Acct-Session-Id = "000000C0000012F4"
Acct-Session-Time = 0
Acct-Input-Packets = 0
Acct-Output-Packets = 0
Service-Type = Login-User
Quintum-AVPair = "h323-ivr-out=ACCESSCODE:12508632152"
Quintum-h323-conf-id = "34363262 65383765 32656364 00000000"
Quintum-AVPair = "h323-incoming-conf-id=34363262 65383765 32656364
00000000"
Quintum-h323-gw-id = "mygate"
Quintum-h323-call-origin = "answer"
Quintum-h323-call-type = "VoIP"
Quintum-h323-setup-time = "22:58:05.000 UTC Sun Apr 22 2007"
Quintum-h323-connect-time = "22:59:24.910 UTC Sun Apr 22 2007"
Quintum-h323-disconnect-time = "22:59:24.910 UTC Sun Apr 22 2007"
Quintum-h323-remote-address = "10.220.42.38"
Quintum-h323-disconnect-cause = "1f"
Quintum-h323-voice-quality = "0"
Quintum-Trunkid-In = "10.220.42.38"
Quintum-Trunkid-Out = "10.128.75.204"
h323-incoming-conf-id = "34363262 65383765 32656364 00000000"
Client-IP-Address = 10.220.42.41
Acct-Unique-Session-Id = "2f13e58684844468"
Timestamp = 1177282839

Mon Apr 23 00:00:41 2007
User-Name = ""
NAS-IP-Address = 10.220.42.41
Service-Type = Login-User
Quintum-AVPair = "h323-incoming-conf-id=34363262 65386430 32656431
00000000"
Quintum-AVPair = "h323-ivr-out=ACCESSCODE:13013393338"
Quintum-NAS-Port = "0 0/0/c1dc2a26"
Quintum-h323-conf-id = "34363262 65386430 32656431 00000000"
Quintum-h323-setup-time = "22:59:26.975 UTC Sun Apr 22 2007"
Quintum-h323-call-origin = "answer"
Quintum-h323-call-type = "VoIP"
Quintum-h323-gw-id = "mygate"
Called-Station-Id = "13013393338"
Calling-Station-Id = ""
Acct-Status-Type = Start
Acct-Delay-Time = 0
Acct-Session-Id = "000000C0000012F6"
NAS-Port-Type = Async
h323-incoming-conf-id = "34363262 65386430 32656431 00000000"
Client-IP-Address = 10.220.42.41
Acct-Unique-Session-Id = "e0f0037503ecd771"
Timestamp = 1177282841

Mon Apr 23 00:00:50 2007
User-Name = ""
NAS-IP-Address = 10.220.42.41
Service-Type = Login-User
Quintum-AVPair = "h323-incoming-conf-id=34363262 65386438 32656433
00340000"
Quintum-AVPair = "h323-ivr-out=ACCESSCODE:12508632152"
Quintum-NAS-Port = "0 0/0/c1dc2a26"
Quintum-h323-conf-id = "34363262 65386438 32656433 00340000"
Quintum-h323-setup-time = "22:59:35.665 UTC Sun Apr 22 2007"
Quintum-h323-call-origin = "answer"
Quintum-h323-call-type = "VoIP"
Quintum-h323-gw-id = "mygate"
Called-Station-Id = "12508632152"
Calling-Station-Id = ""
Acct-Status-Type = Start
Acct-Delay-Time = 0
Acct-Session-Id = "000000C0000012F7"
NAS-Port-Type = Async
h323-incoming-conf-id = "34363262 65386438 32656433 00340000"
Client-IP-Address = 10.220.42.41
Acct-Unique-Session-Id = "a93366b14fa83a3e"
Timestamp = 1177282850

Mon Apr 23 00:01:26 2007
NAS-IP-Address = 10.220.42.41
Quintum-NAS-Port = "0 0/0/c1dc2a26"
NAS-Port-Type = Async
User-Name = "10.220.42.38"
Called-Station-Id = "12508632152"
Calling-Station-Id = ""
Acct-Status-Type = Stop
Acct-Delay-Time = 0
Acct-Input-Octets = 0
Acct-Output-Octets = 0
Acct-Session-Id = "000000C0000012F7"
Acct-Session-Time = 0
Acct-Input-Packets = 0
Acct-Output-Packets = 0
Service-Type = Login-User
Quintum-AVPair = "h323-ivr-out=ACCESSCODE:12508632152"
Quintum-h323-conf-id = "34363262 65386438 32656433 00340000"
Quintum-AVPair = "h323-incoming-conf-id=34363262 65386438 32656433
00340000"
Quintum-h323-gw-id = "mygate"
Quintum-h323-call-origin = "answer"
Quintum-h323-call-type = "VoIP"
Quintum-h323-setup-time = "22:59:35.665 UTC Sun Apr 22 2007"
Quintum-h323-connect-time = "23:00:11.755 UTC Sun Apr 22 2007"
Quintum-h323-disconnect-time = "23:00:11.755 UTC Sun Apr 22 2007"
Quintum-h323-remote-address = "10.220.42.38"
Quintum-h323-disconnect-cause = "1f"
Quintum-h323-voice-quality = "0"
Quintum-Trunkid-In = "10.220.42.38"
Quintum-Trunkid-Out = "10.128.75.204"
h323-incoming-conf-id = "34363262 65386438 32656433 00340000"
Client-IP-Address = 10.220.42.41
Acct-Unique-Session-Id = "69512c19e7769b31"
Timestamp = 1177282886
.



Relevant Pages