home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / perl / nutshell / ch4 / require < prev    next >
Encoding:
Text File  |  1992-10-18  |  445 b   |  20 lines

  1. sub require {
  2.     local($filename) = @_;
  3.     return 1 if $INC{$filename};
  4.     local($realfilename, $result);
  5.     ITER: {
  6.     foreach $prefix (@INC) {
  7.         $realfilename = "$prefix/$filename";
  8.         if (-f $realfilename) {
  9.         $result = &$realfilename;
  10.         last ITER;
  11.         }
  12.     }
  13.     die "Can't find $filename in \@INC";
  14.     }
  15.     die $@ if $@;
  16.     die "$filename did not return true value" unless $result;
  17.     $INC{$filename} = $realfilename;
  18.     $result;
  19. }
  20.