in reply to Re^2: retailed (embedded) perl
in thread retailed (embedded) perl

In addition to paths, @INC can contain code refs (and a couple of other things). When trying to load a module, Perl iterates over @INC until the module is loaded. If a path is encountered, Perl looks for the module in that directory. If a code ref is encoutered, Perl calls the code ref with the name of the module to load.

The snippet places a code ref at the @INC's head, causing it to be called first. When called, it displays the name of the module Perl is attempting to load. It doesn't load the module, so Perl proceeds with the next entry in @INC.

References: @INC, require

Replies are listed 'Best First'.
Re^4: retailed (embedded) perl
by earlati2 (Beadle) on Sep 07, 2006 at 06:52 UTC
    a very good explanation
    tanks a lot

      You may also be interested to know why Perl supports coderefs in @INC.

      One reason is so that tools like PAR, which bundle up a Perl script and all of its dependencies, can extract .pm files from the archive on-the-fly as the modules are 'required' by the calling script.