X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSelfLoader.pm;h=8d80b575a121261f8e4aa9d8eba50362f52a6e79;hb=ee85b803feacbb40e8592bf6e4ffe4e533862c00;hp=136d42bef14a6bdca1ceb6d6f8973da7a47ae081;hpb=463e8aa9e147f9122952976a4c236a28e18c90b0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/SelfLoader.pm b/lib/SelfLoader.pm index 136d42b..8d80b57 100644 --- a/lib/SelfLoader.pm +++ b/lib/SelfLoader.pm @@ -44,7 +44,7 @@ sub _load_stubs { unless fileno($fh); $Cache{"${currpack}:: and $line !~ m/^__END__/) { + while(defined($line = <$fh>) and $line !~ m/^__END__/) { if ($line =~ m/^sub\s+([\w:]+)\s*(\([\$\@\;\%\\]*\))?/) { # A sub declared push(@stubs, $self->_add_to_cache($name, $currpack, \@lines, $protoype)); $protoype = $2; @@ -230,7 +230,7 @@ that filehandle (and ONLY if you want to), you should either the C<__DATA__> token and put your own data after those declarations, using the C<__END__> token to mark the end of subroutine declarations. You must also ensure that the B -reads first by calling 'SelfLoader->load_stubs();', or by using a +reads first by calling 'SelfLoader-Eload_stubs();', or by using a function which is selfloaded; or @@ -258,7 +258,7 @@ need for stubs as far as autoloading is concerned. For modules which ARE classes, and need to handle inherited methods, stubs are needed to ensure that the method inheritance mechanism works properly. You can load the stubs into the module at 'require' time, by -adding the statement 'SelfLoader->load_stubs();' to the module to do +adding the statement 'SelfLoader-Eload_stubs();' to the module to do this. The alternative is to put the stubs in before the C<__DATA__> token BEFORE