This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl.c: Improve buildcustomize error message
authorFather Chrysostomos <sprout@cpan.org>
Mon, 1 Sep 2014 01:20:28 +0000 (18:20 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 1 Sep 2014 01:20:42 +0000 (18:20 -0700)
commitaf26e4f23ae11a43d1a3ac56ed110a974e093811
treeb121c20b8fa7d421aa41446ce51fd1e04161e4f5
parent5df8ece29fd957870ec28e269ef416b1536e92d0
perl.c: Improve buildcustomize error message

buildcustomize.pl was being loaded with generated code that died if
‘lib/buildcustomize.pl’ existed but do-file failed.  $@ was used as
the error message.

If the file does not exist (do-file searching @INC), then $@ is empty
and the error is in $!.  Before 9054c817, this is what we would get:

$ ./miniperl -T -Ilib -e0
Died.
BEGIN failed--compilation aborted.

I fixed that in 9054c817 so there would be no error (by adding an ini-
tial ‘./’ to the path.)

That message was rather baffling.  It would have been easier to track
down the cause if I had seen something like this:

$ ./miniperl -T -Ilib -e0
lib/buildcustomize.pl: No such file or directory.
BEGIN failed--compilation aborted.

This commit changes the generated code to output $! like that if $@ is
empty, in case a similar bug occurs again.
perl.c