in reply to Re: Filter File Using HASH
in thread Filter File Using HASH

$fileArray; my $totlogfile = "$today-TotalLogFile"; my $totlogfile1 = "today-TotalLogFile1"; my $totlogfilebkup="TotalLogFileBkup"; open(total,">$totlogfilebkup") || die("Could not open out file!$outfil +e");#outfile is declared before opendir(DIR, "logfiles") or die "couldn't open logs"; while ( defined ($filename = readdir(DIR)) ) { $index = index($filename,$yesterday); if ($index > -1) { $fileArray[$count] = $filename; $count = $count + 1; print "The log file name is $filename.\n"; open(logfile,"$filename") || die("Couldx not ope +n file! $logfilename");#$logfilename declared while($line = <logfile>) { chomp($line); unless(( $line =~ /\.gif/i ) || ( $line =~ + /\.jpg/i ) || ( $line =~ /\.jpeg/i ) || ( $line =~ /\.js/i ) || ( $l +ine =~ /\.css/i ) || ( $line =~ /tickerServlet/i ) || ( $line =~ /nag +ios/i ) || ( $line =~ /statusservlet/i )) { print total "$line\n"; + } } close logfile; } } closedir(DIR); close total;

My file will have lines as follows
3.77.65.36 - - 16/Jan/2005:00:01:08 -0500 "GET /images/spacer.gif HTTP/1.0" 200 43 0 "-" "Mozilla/3.01 (compatible;)" "-"
3.45.14.157 - - 16/Jan/2005:00:02:22 -0500 "HEAD /portal/site/energy/ HTTP/1.1" 200 - 0 "-" "libwww-perl/5.11" "-"
Lines similar to the above.
I want line 2 but not line 1 coz it has gif.
Thanks

Replies are listed 'Best First'.
Re^3: Filter File Using HASH
by holli (Abbot) on Feb 01, 2005 at 14:11 UTC
    while($line = <logfile>) { unless( $line =~ /(\.gif|\.jpg|\.jpeg|\.js|\.css|tickerServlet|nag +ios|statusservlet)/ { print total $line; } }

    holli, regexed monk
      Holli,
      You are really helpful.Thanks.I also would like to know how does this make differnece?.Just curious.Does using of HASH reduce the process time.
      I am just a beginner.Please bear with me.
      Thanks
        there is no hash involved in this code, but a regular expression. if you want to know about hashes, read perldata. If you want to know about regular expressions read perlretut, perlrequick and perlre.

        holli, regexed monk