Home  |  Linux  | Mysql  | PHP  | XML
From:Shlomi Fish Date:Wed Mar 10 14:37:03 2010
Subject:Re: use with variable
Hi Nora,

On Wednesday 10 Mar 2010 12:56:52 HACKER Nora wrote:
> Hi list,
>
> I want to use the Env::Sourced module for setting some environment
> variables depending on the Oracle version of a certain database:
>
> ~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~
> ~ ~~ ~ ~~ ~ ~~ ~ ~
> #!/usr/bin/perl -w
> use strict;
> use warnings;
>
> sub fnc {
> my $oraenv;
> my $oratabpfad="/opt/ora/9.2.0.8";
> if ($oratabpfad =~ /9.2.0.8/) {
> print "--- IF ---\n";
>
> $oraenv="/opt/data/magna/viamg1/umgebungen/config/ora9208.env";
> print "OraEnv: $oraenv\n";
> } else {
> print "--- ELSE ---\n";
>
> $oraenv="/opt/data/magna/viamg1/umgebungen/config/ora92.env";
> print "OraEnv: $oraenv\n";
> }
>
> use Env::Sourced "$oraenv";
> system 'env |grep ORA';
> }
>
> fnc ();
> ~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~ ~ ~~
> ~ ~~ ~ ~~ ~ ~~ ~ ~
>
> Sadly, the final "use Env::Sourced..." command does not work. I suspect
> the variable to be the problem but haven't yet found a way how to pass
> the value to the "use" command properly. No quotes at all or double
> quotes (as in code snippet) return no error, but the variables are not
> set either. Single quotes or backticks return an error, of course. But
> what's left, then?
>
>
> I have an additional question: I also tried a solution like this:
>
> if (...) {
> use Env::Sourced "/path/to/file.env";
> } else {
> use Env::Sourced "/path/to/file2.env";
> }
>

use is a compile-time statement and will always be run and evaluated at
compile-time. If you want it to be at run-time you can do:

<<<<
require Env::Sourced;
Env::Sources->import($path_to_file);
>>>>

Regards,

Shlomi Fish

> but this didn't work correctly as well, always the second file (from the
> ELSE) was sourced. Am I guessing right that the latter file was sourced
> because of the ambiguous "use" although this would not come to effect
> during script execution? Could someone explain to me kindly why exactly
> that is so?
>
> And, of course, if my questions should be better addressed to the owner
> of the module, please give me a hint.
>
>
> Regards,
> Nora

--
-----------------------------------------------------------------
Shlomi Fish http://www.shlomifish.org/
List of Portability Libraries - http://shlom.in/port-libs

Deletionists delete Wikipedia articles that they consider lame.
Chuck Norris deletes deletionists whom he considers lame.

Please reply to list if it's a mailing list post - http://shlom.in/reply .
Navigate in group perl.beginners at sever nntp.perl.org
Previous Next


Your recent visits
Re: 1-line text file with numbers, need to add to them
Re: 1-line text file with numbers, need to add to them
Re: 1-line datafile, need data for another routine
LMPX.COM :: Linux, Mysql, Php, Xml
no lstat happens



  
© No Copyright
You are free to use Anything, but please consult your advocate before doing so as this website
also list content from other sources which may be copyrighted.
Site Maintained by Zareef Ahmed
Powered By PHP Consultants