Document that perl tries to load .pmc files before .pm files.
Casey West [Fri, 9 May 2003 17:03:50 +0000 (13:03 -0400)]
Subject: Re: [perl #8860] [not RESOLVED] .pmc extension not documented in require
Message-ID: <20030509210350.GW49820@geeknest.com>

p4raw-id: //depot/perl@19466

pod/perlfunc.pod

index 44a6f28..2a3533b 100644 (file)
@@ -4058,6 +4058,15 @@ will complain about not finding "F<Foo::Bar>" there.  In this case you can do:
 
         eval "require $class";
 
+Now that you understand how C<require> looks for files in the case of
+a bareword argument, there is a little extra functionality going on
+behind the scenes.  Before C<require> looks for a "F<.pm>" extension,
+it will first look for a filename with a "F<.pmc>" extension.  A file
+with this extension is assumed to be Perl bytecode generated by
+L<B::Bytecode|B::Bytecode>.  If this file is found, and it's modification
+time is newer than a coinciding "F<.pm>" non-compiled file, it will be
+loaded in place of that non-compiled file ending in a "F<.pm>" extension.
+
 You can also insert hooks into the import facility, by putting directly
 Perl code into the @INC array.  There are three forms of hooks: subroutine
 references, array references and blessed objects.