inphones.pl to HTML.

index -|- end

Generated: Tue Feb 2 17:54:43 2010 from inphones.pl 2008/02/01 3 KB.

#!/perl -w
# NAME: inphones.pl
# AIM: A check of the number from one file, are present in another ...
use strict;
use warnings;
require 'logfile.pl' or die "Unable to load logfile.pl ...\n";
# log file stuff
my ($LF);
my $pgmname = $0;
if ($pgmname =~ /\w{1}:\\.*/) {
   my @tmpsp = split(/\\/,$pgmname);
   $pgmname = $tmpsp[-1];
}
my $outfile = "temp.$pgmname.txt";
open_log($outfile);
prt( "$0 ... Hello, World ...\n" );
my $in_file1 = "temp1.txt";
#my $in_file1 = "C:\\TXT\\innums2.txt";
my $in_file2 = "C:\\TXT\\phones.txt";
my $hadsep = 0;
my $currnm = '';
my $linnum = 0;
my $msg = '';
my @newnums = ();
if (open INF1, "<$in_file1") {
   my @lines1 = <INF1>;
   close INF1;
   if (open INF2, "<$in_file2") {
      my @lines2 = <INF2>;
      close INF2;
      prt( "Checking ".scalar @lines2." lines for ".scalar @lines1." lines ...\n" );
      foreach my $line1 (@lines1) {
         chomp $line1;
         $line1 = trim_all($line1);
         if (length($line1) && ($line1 =~ /\d+/)) {
            prt( "Finding $line1 ...\n" );
            $msg = "$line1";
            foreach my $line2 (@lines2) {
               $linnum++;
               chomp $line2;
               $line2 = trim_all($line2);
               if (length($line2)) {
                  if ($line2 =~ /^;------------------------/) {
                     $hadsep = 1;
                  } else {
                     if ($hadsep) {
                        $currnm = $line2;
                        $hadsep = 0;
                     }
                  }
                  if ($line2 =~ /\d+/) {
                     if (checklines( $line1, $line2 )) {
                        $msg .= " $currnm (ln $linnum)";
                        last;
                     }
                  }
               }
            }
            push(@newnums, $msg);
         }
      }
   } else {
      prt( "ERROR: Failed to open $in_file2 ...\n" );
   }
} else {
   prt( "ERROR: Failed to open $in_file1 ...\n" );
}
$msg = "\n";
$msg .= scalar localtime(time());
$msg .= "\n\n";
$msg .= "       CALLER ID IDENTIFICATION\n";
$msg .= "\n";
foreach my $nm (@newnums) {
   $msg .= "         $nm\n\n";
}
$msg .= "\nEOF\n";
write2file( "$msg", 'tempnums.txt' );
system('tempnums.txt');
close_log($outfile,0);
exit(0);
sub checklines {
   my ($ln1, $ln2) = @_;
   my $ll1 = length($ln1);
   my $ll2 = length($ln2);
   my $num1 = '';
   my ($ch1, $ch2, $lnum, $i, $j, $ch3, $ch4, $k, $n);
   for ($i = 0; $i < $ll1; $i++) {
      $ch1 = substr($ln1,$i,1);
      if ($ch1 =~ /\d/) {
         $num1 .= $ch1;
      }
   }
   $lnum = length($num1);
   if ($lnum) {
      $i = 0;
      $ch1 = substr($num1,0,1);    # get FIRST - keep
      for ($j = 0; $j < $ll2; $j++) {
         $ch2 = substr($ln2,$j,1);
         if ($ch2 eq $ch1) {
            #first number matches - see if we can find the balance
            $n = $i + 1;
            $k = $j + 1;
            while (($n < $lnum)&&($k < $ll2)) {
               $ch3 = substr($num1,$n,1); # get next number
               $ch4 = substr($ln2,$k,1);
               if ($ch4 =~ /\d/) {
                  if ($ch3 eq $ch4) {
                     $n++;
                     $k++;
                  } else {
                     last;
                  }
               } else {
                  $k++;
               }
            }
            if ($n == $lnum) {
               prt( "Found [$ln1] in [$ln2]...name = $currnm, around line $linnum ...\n" );
               return 1;
            }
         }
      }
   }
   return 0;
}
# eof

index -|- top

checked by tidy  Valid HTML 4.01 Transitional