#!/usr/bin/perl -w use strict; my $datemin; my $datemax; my $timemin; my $timemax; my $choice; my $msisdn; my $range; my $rangex; my %TOC; %TOC = ( 'DID' => "Digit Feed Recieved", 'ETE' => "No digit feed/caller enters mailbox number", 'ODL' => "Outidal Delivery", 'ODN' => "Outdial Notification", 'DEP' => "Deposit Only", 'RET' => "Retrieval Only", 'SMD' => "SMDI serially integrated trunk", 'PAG' => "Page delivery", 'ISI' => "Infoserv Recording", 'TAS' => "TAS Call", 'TTT' => "Trunk to trunk transfer", 'PBX' => "PBX type transfer", 'CMC' => "Constant Touch", 'CMO' => "Constant Touch Outdial notification" ); print "Your Options Are:\n"; print "\n"; print "DateSearch Only = 'd'\n"; print "TimeSearch Only = 't'\n"; print "Msisdn Search Only = 'm'\n"; print "Date & Time Search = 'b'\n"; print "\n"; do { print "Select Your Option:> (d, t, m, b)"; chomp($choice = ); } until ($choice =~ /^[DdTtMmBb]/); if ($choice =~ /^[Dd]/) { $range = ; ($datemin, $datemax) = split /-/, $range; # Squeeze out leading and trailing spaces $datemin =~ s/^\s+//; $datemin =~ s/\s+$//; $datemax =~ s/^\s+//; $datemax =~ s/\s+$//; print "beg: $datemin end: $datemax\n"; print "Matches\n-------\n"; open(FILE, "/dave/MVPTEST/mvpdoc"); while () { chomp; if ($_ =~ /(\d{4})\s(\d{5})\s(\d{3})\s(\d{2})\s(\d{2}\/\d{2}\/\d{2})\s(\d{2}\:\d{2}\:\d{2})\s(\d{3})\s(\d{2})\s(\S+)\s(\d{2})\s(\d{2})\s(\d{2})\s(\d{2})\s(\w{3})$/) { if (($5 ge $datemin) && ($5 le $datemax)) { print "$_\n"; } } } } if ($choice =~ /^[Tt]/) { $rangex = ; ($timemin, $timemax) = split /-/, $rangex; # Squeeze out leading and trailing spaces $timemin =~ s/^\s+//; $timemin =~ s/\s+$//; $timemax =~ s/^\s+//; $timemax =~ s/\s+$//; print "beg: $timemin end: $timemax\n"; print "Matches\n-------\n"; open(FILE, "/dave/MVPTEST/mvpdoc"); while () { chomp; if ($_ =~ /(\d{4})\s(\d{5})\s(\d{3})\s(\d{2})\s(\d{2}\/\d{2}\/\d{2})\s(\d{2}\:\d{2}\:\d{2})/) { if (($6 ge $timemin) && ($6 le $timemax)) { print "$_\n"; } } } } elsif ($choice =~ /^[Mm]/) { chomp($msisdn = ); print "Matches\n-------\n"; open(FILE, "/dave/MVPTEST/mvpdoc"); while () { chomp; if ($_ =~ /(\d{4})\s(\d{5})\s(\d{3})\s(\d{2})\s(\d{2}\/\d{2}\/\d{2})\s(\d{2}\:\d{2}\:\d{2})\s(\d{2})\s(\S+)/) { if ($8 =~ $msisdn) { print "$_\n"; } } } } elsif ($choice =~ /^[Bb]/) { $range = ; $rangex = ; # Break up the range ($datemin, $datemax) = split /-/, $range; ($timemin, $timemax) = split /-/, $rangex; # Squeeze out leading and trailing spaces $datemin =~ s/^\s+//; $datemin =~ s/\s+$//; $timemin =~ s/^\s+//; $timemin =~ s/\s+$//; $datemax =~ s/^\s+//; $datemax =~ s/\s+$//; $timemax =~ s/^\s+//; $timemax =~ s/\s+$//; print "beg: $datemin end: $datemax\n"; print "beg: $timemin end: $timemax\n"; print "Matches\n-------\n"; open(FILE, "/dave/MVPTEST/mvpdoc"); while () { chomp; if ($_ =~ /(\d{4})\s(\d{5})\s(\d{3})\s(\d{2})\s(\d{2}\/\d{2}\/\d{2})\s(\d{2}\:\d{2}\:\d{2})/) { if (($5 ge $datemin) && ($5 le $datemax) && ($6 ge $timemin) && ($6 le $timemax)) { print "$_\n"; } } } }