How removing . from @INC is about to break CPAN

In Perl 5.26, it will no longer be a safe assumption to assume . is in @INC. This is a good move towards a more secure Perl, but will break the installation of many CPAN modules. For those of you wondering why this was done, see this post for more information.

Many CPAN modules try to do things like: use inc::Module::Install; This depends on . being in @INC. If you invoke Makefile.PL without it, the script will not even run.

We have come up with several ways to mi…

What happened to . in @INC

In Perl, module loads have always attempted to look for the module you refer to in the current working directory (not necessarily the script location). It has always been this way in Perl. This goes back to the keyword "do" which precedes "require". When this was originally coded, it was also common to include . in your PATH.

Convention changed somewhere in the 90's. It is now considered a bad practice to include . in your PATH. Most languages also do not attempt to look for . in @INC. During my research earlier this year, I found that of all of the scripted languages, only Ruby used …

YAPC::NA 2013 in Texas, June 3-5.

YAPC::NA 2013 will be held in the "Live Music Capital of the World", Austin, Texas, from June 3rd through June 5th. 

The conference theme is "25 Years of Perl". Come celebrate Perl's silver year with all your favorite members of the Perl community. 

http://www.yapcna.org 

Registration and talk submissions have been switched on. We'll be posting more about this very soon.

Talk to you soon,

YAPC::NA Team