#!/usr/bin/perl -w sub member { my ($refl, $x) = @_; my @l = @{$refl}; foreach (@l) { if ($_ eq $x) { return(1); } } return(0); } @dirs = @ARGV; foreach $dir (@dirs) { #print STDERR "in $dir\n"; $status = 0; if (!(-d $dir)) { next; } opendir(D, $dir) or $status = 1; if ($status) { print STDERR "$dir is not a valid directory\n"; next; } @basenamelist = (); while (($base = readdir(D))) { next if ($base =~ /^\./); $filename = $dir . "/" . $base; if ((-d $filename) || (-l $filename)) { push(@dirs, $filename); next; } if ($base =~ /\.(tex|ps|pdf)$/) { $basename = $base; $basename =~ s/\.(tex|ps|pdf)$//g; #print STDERR "basename: $basename\n"; if (member(\@basenamelist, $basename)) { print "$filename\n"; } else { push(@basenamelist, $basename); } } } closedir(D); }