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

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to