--- /dev/null
+--- scripts/perl.req~ 2004-04-16 13:27:10.000000000 +0200
++++ scripts/perl.req 2004-04-26 23:54:42.128568344 +0200
+@@ -39,9 +39,18 @@
+ eval { require version; $HAVE_VERSION = 1; };
+
+
++# *inc variables are used to track dependencies on directories for modules.
++# These directories (especially arch-dependent) are likely to change some day.
++my @inc = sort { length $b cmp length $a }
++ map { s#/*$##; $_ }
++ grep m#^/.#, @INC;
++my %inc = map { $_ => 0 } @inc;
++my $inc = join '|', map "\Q$_\E", @inc;
++
+ foreach ( @ARGV ? @ARGV : <> ) {
+- chomp;
+- if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
++ chomp;
++ $inc{$1}++ if m#($inc)/#; # can't anchor on ^
++ if (m=/usr/(sbin|bin|lib|lib64|libx32|share|X11R6/(lib|lib64|libx32|bin))/=) {
+ if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
+ process_file($_) if -f;
+ }
+@@ -53,7 +64,9 @@
+ foreach $perlver (sort keys %perlreq) {
+ print "perl >= $perlver\n";
+ }
++print "$_\n" for sort grep $inc{$_}, keys %inc;
++
+-foreach $module (sort keys %require) {
++foreach my $module (sort grep length, keys %require) {
+ if (length($require{$module}) == 0) {
+ print "perl($module)\n";
+ } else {