in reply to Re^3: multiple values per key
in thread multiple values per key

I continue with this code and still trying to understand why my hash works but still get piles of warning saying
Use of uninitialized value at ./perl.m line 24, <FH> chunk 894. Use of uninitialized value at ./perl.m line 24, <FH> chunk 894. Use of uninitialized value at ./perl.m line 24, <FH> chunk 896. Use of uninitialized value at ./perl.m line 24, <FH> chunk 898. Use of uninitialized value at ./perl.m line 24, <FH> chunk 900. Use of uninitialized value at ./perl.m line 24, <FH> chunk 902. Use of uninitialized value at ./perl.m line 24, <FH> chunk 904. Use of uninitialized value at ./perl.m line 24, <FH> chunk 906. Use of uninitialized value at ./perl.m line 24, <FH> chunk 922. Use of uninitialized value at ./perl.m line 24, <FH> chunk 924. Use of uninitialized value at ./perl.m line 24, <FH> chunk 926. Use of uninitialized value at ./perl.m line 24, <FH> chunk 928. Use of uninitialized value at ./perl.m line 24, <FH> chunk 930. Use of uninitialized value at ./perl.m line 24, <FH> chunk 932. Use of uninitialized value at ./perl.m line 24, <FH> chunk 934. Use of uninitialized value at ./perl.m line 24, <FH> chunk 936. Use of uninitialized value at ./perl.m line 24, <FH> chunk 938. Use of uninitialized value at ./perl.m line 24, <FH> chunk 940. Use of uninitialized value at ./perl.m line 24, <FH> chunk 942. Use of uninitialized value at ./perl.m line 24, <FH> chunk 944. Use of uninitialized value at ./perl.m line 24, <FH> chunk 946.
Also, I try to debug this program, and I see that push happens twice(?) in one record. Why? There shoud be only one $callid and $sipm per record.
main::(perl.m:6): my $cbn = $"; DB<2> main::(perl.m:8): $/ = "\n\n"; DB<2> main::(perl.m:9): $" = "\n"; DB<2> main::(perl.m:11): open FH, 'file1' or die "can't open file $!"; DB<2> main::(perl.m:13): my $callid; DB<2> main::(perl.m:14): my $sipm; DB<2> main::(perl.m:15): my %data1 = (); DB<2> main::(perl.m:17): while (<FH>) { DB<2> main::(perl.m:18): chomp; DB<2> main::(perl.m:19): if (m/###|^$/) { DB<2> main::(perl.m:20): next; DB<2> main::(perl.m:18): chomp; DB<2> main::(perl.m:19): if (m/###|^$/) { DB<2> main::(perl.m:22): m{(?:^SIP\/2\.0 )?(\d\d\d|^[A-Z]{3,6} ). +*(Call-ID: [\S]{25,80})[^ ]+: .*}s; DB<2> main::(perl.m:23): ($sipm,$callid) = ($1,$2); DB<2> main::(perl.m:24): push (@{$data1{$callid}}, $sipm); DB<2> main::(perl.m:24): push (@{$data1{$callid}}, $sipm); DB<2> main::(perl.m:17): while (<FH>) { DB<2> main::(perl.m:18): chomp; DB<2> main::(perl.m:19): if (m/###|^$/) { DB<2> main::(perl.m:20): next; DB<2> main::(perl.m:18): chomp; DB<2> main::(perl.m:19): if (m/###|^$/) { DB<2> main::(perl.m:22): m{(?:^SIP\/2\.0 )?(\d\d\d|^[A-Z]{3,6} ). +*(Call-ID: [\S]{25,80})[^ ]+: .*}s; DB<2> main::(perl.m:23): ($sipm,$callid) = ($1,$2); DB<2> main::(perl.m:24): push (@{$data1{$callid}}, $sipm); DB<2> main::(perl.m:24): push (@{$data1{$callid}}, $sipm); DB<2> main::(perl.m:17): while (<FH>) {