http://www.perlmonks.org?node_id=59968


in reply to Re: Returning information from BEGIN
in thread Returning information from BEGIN

Okay, here is what I did:

BEGIN { use vars qw($Bgn); $Bgn=1 unless $ENV{'SM'}; push @INC,$ENV{'SM'}||""."/../bin"; }; use strict; die "[Error] Environmental string not found: \$SM\n" if $Bgn; require 'errors.pm'; ... ...

To avoid getting the ugly Error-message when die-ing in the
BEGIN-block I wanted to set some variable which I would use
after the BEGIN-block to check whether there was an error.
In this case the error would have been the fact that the $SM
environment string hadn't been set. Which would result in
an error message in the BEGIN-block
Use of uninitialized value in concatenation (.) at ./test.s line 19
(Which was solved by the '||""'). And which would result in
an error message due to the require 'errors.pm';
Which could not be found in $SM/../bin/, because $SM hadn't
been set.

But fortunately, things are working now ;-)

Thanks and Bye, Leon