Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: moving old files

by Paladin (Priest)
on Apr 20, 2006 at 17:05 UTC ( #544648=note: print w/replies, xml ) Need Help??

in reply to moving old files

#check each file in logs directory my @to_move; foreach my $file (@files) { $file eq '.' || $file eq '..' or push @to_move, $file; }

The code in this section is a bit hard to read. A more readable way would be something like:

#check each file in logs directory my @to_move; foreach my $file (@files) { next if $file =~ /^\.\.?$/; push @to_move, $file; }
Or better yet, remove this part, and add it to the readdir earlier.
my @files = grep { -M "$log_dir/$_" > 1 && !/^\.\.?$/ } readdir(LOGS);
A few other things:
  • Use the LIST form of system when you are able to: system "gzip", $file
  • chdir to the log dir once at the start of the script instead of once for each file processed
  • In the else block you use $! but there is no guarantee that it will be set to a valid value before hand. You know at that point that the file is a symbolic link, so just print that.
  • Nit Pick: You seem to use 2 different indent styles, one for the foreach and another for the if (You indent the body of one, but not the other). It usually helps to be consistant.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://544648]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2018-05-27 18:29 GMT
Find Nodes?
    Voting Booth?