Thread Batchdatei integrieren und Variablen für die aktuelle Session einbinden
(3 answers)
Opened by muchamadin at 2012-12-12 16:42
Hi,
hier mal ein Ansatz: Anstatt %ENV verwende ich hier %foo, um die Ausgabe übersichtlicher zu haben. Es wird nicht geprüft, ob eine zu ersetzende Variable wirklich gesetzt ist. Variable3 ist nicht ausreichend benannt (fehlendes % am Ende)... Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /usr/bin/perl use strict; use warnings; # use Getopt::Long; # use CGI; my %foo; while ( my $line = <DATA> ) { if ( my ( $var, $wert ) = $line =~ m{set\s+([^=]+)=(.+)$} ) { if ( $wert =~ m/%/ ) { $wert =~ s/%([^%]+)%/$foo{$1}/g; } $foo{$var} = $wert; } } use Data::Dumper; print Data::Dumper->new( [ \%foo ], [ '*foo' ])->Sortkeys(1)->Dump; __DATA__ set Variable1=c:/ursprungspfad/site1 set Variable2=%Variable1%/info set Variable3=verzeichnis set Variable4=%Variable1%/%Variable3 Ausgabe: Code: (dl
)
1 %foo = ( meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |