#!/usr/athena/bin/perl use strict; # find_readable: find files that are readable across many users' directories. # like dotfiles, for example. my $filename = shift or die "No filename specified"; my %homedir = (); while (defined (my $list = shift)) { open (my $blanche, "blanche -u $list |") or die "open blanche -u $list: $!"; while (<$blanche>) { chomp; $homedir{$_} = '/afs/athena/user/' . substr ($_, 0, 1) . '/' . substr ($_, 1, 1) . '/' . $_; } close ($blanche) or die "close blanche: $!"; } while (!(-t STDIN) and defined ($_ = )) { chomp; $homedir{$_} = '/afs/athena/user/' . substr ($_, 0, 1) . '/' . substr ($_, 1, 1) . '/' . $_; } foreach my $userid (sort keys %homedir) { print $homedir{$userid} . '/' . $filename . "\n" if (-r $homedir{$userid} . '/' . $filename); }