'do' no longer loading files from '.' due to '.' being removed from @INC
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
perl (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I just downloaded and compiled stock Perl 5.24.1 without any Ubuntu packages.
Then I put this in a file called foo.pl:
--cut
do 'froodle.conf';
print $froodle, "\n";
--cut
and this in froodle.conf:
--cut
$froodle = 'freedle';
--cut
Then I ran "perl foo.pl" with the stock Perl I had just compiled, and saw this:
--cut
$ perl foo.pl
freedle
$
--cut
However, when I run "perl foo.pl" with the version of Perl included in Zesty, I see this:
--cut
$ perl foo.pl
$
--cut
This is a serious, significant difference in behavior between stock Perl and Ubuntu's Perl, and a regression from Yakkety.
Using "do EXPR" to get variable settings from configuration files is even documented in the Perl documentation (https:/
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: perl 5.24.1-2ubuntu1
ProcVersionSign
Uname: Linux 4.10.0-19-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.4-0ubuntu4
Architecture: amd64
CurrentDesktop: Unity:Unity7
Date: Sun Apr 16 16:11:29 2017
InstallationDate: Installed on 2016-01-16 (456 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Release amd64 (20151021)
SourcePackage: perl
UpgradeStatus: Upgraded to zesty on 2017-04-14 (2 days ago)
Hmm. I see this in the output of perl -V:
DEBPKG: debian/ document_ inc_removal - Document in perlvar that we remove '.' from @INC by default
So I guess this is a conscious decision to remove "." from @INC in Perl in Zesty?
Is this documented anywhere other than the perlvar man page? Like in Zesty's release notes or something?