home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / utilities / cli / perl / !Perl / Lib / pm / AutoLoader < prev    next >
Encoding:
Text File  |  1995-01-13  |  715 b   |  29 lines

  1. package AutoLoader;
  2. use Carp;
  3.  
  4. AUTOLOAD {
  5.     my $name = "auto/$AUTOLOAD.al";
  6.     $name =~ s#::#/#g;
  7.     eval {require $name};
  8.     if ($@) {
  9.     # The load might just have failed because the filename was too
  10.     # long for some old SVR3 systems which treat long names as errors.
  11.     # If we can succesfully truncate a long name then it's worth a go.
  12.     # There is a slight risk that we could pick up the wrong file here
  13.     # but autosplit should have warned about that when splitting.
  14.     if ($name =~ s/(\w{12,})\.al$/substr($1,0,11).".al"/e){
  15.         eval {require $name};
  16.     }
  17.     elsif ($AUTOLOAD =~ /::DESTROY$/) {
  18.         eval "sub $AUTOLOAD {}";
  19.     }
  20.     if ($@){
  21.         $@ =~ s/ at .*\n//;
  22.         croak $@;
  23.     }
  24.     }
  25.     goto &$AUTOLOAD;
  26. }
  27.  
  28. 1;
  29.