#!/usr/bin/perl -w # MLX - Note that the above line also turns on warnings # MLX - in any other modules that you use or require. # MLX - The 'use warnings' pragma below may be more of # MLX - what you intended use strict; use warnings; my ($time, $site, $logName, $fullName, $date, $gmt, $req, $file, $proto, $status, $length); # # MLX - You may want to move as much of this declaration # MLX - into the foreach loop, unless you really need the # MLX - data from the last pass through the loop afterwards. # $site; # # MLX - Not sure what you want to do with this one. It # MLX - is a no-op. my $LOGFILE = "config.txt"; # open LOGFILE,"$LOGFILE" or die "cannot open file : $!"; # # MLX - Excellent use of 'open or die "foo: $!"'! # # MLX - If $LOGFILE is assigned from something you don't # MLX - have complete control over, it can be used in # MLX - the 2-argument version of open to overwrite # MLX - another file. Better would be: open LOGFILE,'<', $LOGFILE or die "cannot open file : $!"; # MLX - Another 'improvement' might be to use lexical # MLX - file handles: 'open my $log_fh, ... ' foreach my $line () { ($site, $logName, $fullName, $date, $gmt, $req, $file, $proto, $status, $length) = split(' ',$line); # MLX - Add a 'my' to the beginning of this unless # MLX - you need to have the data from the last pass # MLX - after the loop has terminated. my $a = "$site\n"; print "--$a\n"; my $b = "$logName\n"; print "==$b\n"; } close(LOGFILE);