in reply to Re: map question
in thread map question
Here is my entire codeprint grep {length > 15} map {s/\s+//g; "$_\n"} @fields;
#!/usr/bin/perl -w use strict; my $ncb = $/; my $cbn = $"; $/ = "\n\n"; $" = "\n"; my $yahoo = shift @ARGV; open FH, "$yahoo" or die "can't open $!"; my $callid; my $sipm; my %data1 = (); my $count = 0; my @fields1; while (<FH>) { chomp; if (m/###/) { next; } unless (m{(?:^\bSIP\/2\.0 \b)?(\d\d\d|^[A-Z]{3,6} ).*(Call-ID: +[\S]{25,80})[^ ]+: .*}s) { $count++; next; } ($sipm,$callid) = ($1,$2); push (@{$data1{$callid}}, $sipm); } close FH; $/ = $ncb; $" = $cbn; print "There were $count which could not detect\n"; #foreach $callid (sort keys %data1) { # my @fields = @{$data1{$callid}}; # foreach (@fields) { # print map { # ( my $x = $_ ) =~ s/\s+//g; # length( $x ) < 15 ? () : $x; # } @{ $data1{ $callid } }; # } #} foreach $callid (sort keys %data1) { my @fields = @{$data1{$callid}}; print grep {length > 15} map {s/\s+//g; "$_\n"} @fields; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: map question
by GrandFather (Saint) on Jul 29, 2007 at 03:46 UTC |