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

thanks guys, it's working. I still dont' understand map too well(along with many other things).. can someone show me a URL that has map tutorial better than http://perldoc.perl.org/functions/map.html ?? Their explanation on how to mix it in with other does not make much sense to me.

Replies are listed 'Best First'.
Re^4: array with s///g command
by GrandFather (Saint) on Jul 30, 2007 at 01:32 UTC

    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
      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"; }