in reply to Re^3: array with s///g command
in thread array with s///g command

You should take a bit of time to browse through the Tutorials section here. Of immediate interest you will find Map: The Basics there and the List Processing, Filtering, and Sorting sub-section in general is likely to be of value. But don't stop there - you will find lots of good stuff if you poke around the many corners and alcoves of the Tutorials section.


DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^5: array with s///g command
by convenientstore (Pilgrim) on Jul 30, 2007 at 06:50 UTC
    thank you. I am definitely going through them(tutorials)
    Here is my working code to date,

    I plan to add one sub to do more with the data but this is great
    that it's working this far. But I am gonna go back to tutorials to read more on everything that I am lacking to
    program .. but you guys are great!!
    #!/usr/bin/perl -w use strict; use diagnostics; 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 $size = 15; 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"; HANA: foreach $callid (sort keys %data1) { my @fields = @{$data1{$callid}}; my @fields1 = @fields; @fields1 = map { s/\s//g; $_ } @fields1; if ("$size" > ($#fields1 + 1)) { next HANA; } else { print @fields1; } print "\n"; }