perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 24
Click for quality!




11.02.2012 / 08:18

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragUmgebungsvariable in Unix
Seitenanfang
Nach dem Einlesen der Konfigurationsdaten aus einer Textdatei ist eine Perl-Variable mit folgendem Wert belegt:
..
print( "-> $Var \n" );
-> $BASEDIR/$SUB/import

wobei BASEDIR und SUB zwei auf Shell-Ebene gesetzte Unix-Umgebungsvariablen sind:
echo $BASEDIR
/bea
echo $SUB
archiv

Wie bringe ich das Perl-Script dazu, dass die Umgebungsvariablen durch die Werte ersetzt werden, so dass im Beispiel

print( "-> $Var \n" );
-> /bea/archiv/import

herauskommt.
Gibt es dazu eine Standardfunktion oder muss ich den Knochenweg über den ENV-Hash gehen?

Datum: 23.04.2008-14:14

Beitragre: Umgebungsvariable in Unix
Seitenanfang

my $str = "User: \$USER\nShell: \$SHELL\nHomedir: \$HOME\n";

print $str;

my $env_pattern = join('|', keys %ENV);

$str =~ s/\$($env_pattern)/$ENV{$1}/eg;

print $str;

Datum: 23.04.2008-14:46

Beitragre: Umgebungsvariable in Unix
Seitenanfang
Das isses!
Vielen Dank!

Datum: 23.04.2008-15:06

Beitragre: Umgebungsvariable in Unix
Seitenanfang
no problem

Datum: 25.04.2008-02:05

Beitragre: Umgebungsvariable in Unix
Seitenanfang
Einen Punkt sollte man noch bedenken. Eine Variable kann auch in der Form ${VAR} verwendet werden, aber das kann man über den regulären Ausdruch einfach erschlagen.

Datum: 25.04.2008-06:37

-






-
-