sub findCompressor { my @paths=( "/usr/bin". "/bin", "/usr/local/bin", "/usr/share/bin", "/opt/bin", "$ENV{HOME}/bin", "$ENV{HOME}/local/bin", ); foreach my $prog('bzip2','gzip','compress') { foreach my $dir(@paths) { my $path="$dir/$prog"; return $path if -x $path; } } # return some default non-compressing compressor?? } # run once my $compressor=findCompress();