in reply to more ways to filesize

Here's my version; I made some changes that I thought cleaned things up a little:

  1. This version uses readdir to get the list of home directories, so you can avoid creating a temporary file with ls first;
  2. The output goes to STDOUT only. I think that, since your on a *nix machine, you'll find it advantageous not to send your output to a hard-wired data file. If you want your output to go to the screen and a file simultaneously, use the tee command; eg.
    perl my_script.pl | tee my_logfile.dat
  3. I know this code rather contradicts the quote in my sig, but I couldn't help it. It was too much fun rebuilding the processing into one line. Sorry.
#! /usr/bin/perl use strict ; use warnings ; $|++ ; use Data::Dumper ; my $home_root = '/usr/home' ; my $size_limit = 30 * 1_024_000 ; opendir HOME, $home_root or die "Couldn't open $home_root: $!" ; printf "%-25s | %3.2fMB\n", $_->[0], $_->[1] / 1_024_000 for grep { $_->[1] > $size_limit } map { [ $_ => ( stat "$home_root/$_/INBOX" )[7] || 0 ] } grep { -d "$home_root/$_" } readdir HOME ; closedir HOME ; exit ; __END__

_______________
DamnDirtyApe
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
            --Friedrich Nietzsche