Hallo zusammen,
ich habe ein CGI-Skript geschrieben (sehe unten) mit dem ich bestimmte Werte (IP,Hostname, Gateway) aus einer xml Volrlage in eine neue Datei "uebertrage".Das ganze funktioniert sehr gut, nun wollte ich noch eine andere Datei damit veraendern lassen und das klappt nicht so.Da ich nur ein gelegenheits Programmierer bin dauert es
sehr lange bei mir und momentan bin ich auf dem
Holzweg...;=((.
Hier ist das Skript:
Fuer jeden Tip bin sehr dankbar
Gruss Johny_Walker ;=))
------------------------------------------------------
#! /usr/bin/perl
#
#
use warnings;
use CGI;
my $cgi = new CGI;
print $cgi->header('text/html');
print $cgi->start_html(-title => 'CGI Werte');
my %params = $cgi->Vars();
print $cgi->end_html();
my $version = $params{'Version'};
my $host = $params{'Hostname'};
my $dom = $params{'domain'};
my $msk1 = $params{'mask1'};
my $ip01 = $params{'ip1'};
my $msk2 = $params{'mask2'};
my $ip02 = $params{'ip2'};
my $gtw = $params{'gtw'};
if ($version eq "SLES8/SP3 für x86"){
my $infile = "/var/www/autoyast/sles8/x86/sles8_ps.xml";
unless (open (FILE, "<", $infile)) {
print "Fehler: konnte Datei '$infile' nicht oeffnen: $!\n";
exit;
} # unless
else {
local $/ = undef;
my $xml = <FILE>;
$xml =~ s/##HOSTNAME##/$host/g;
$xml =~ s/##DOMAIN##/$dom/g;
$xml =~ s/##IP1##/$ip01/g;
$xml =~ s/##MASK1##/$msk1/g;
$xml =~ s/##GTW##/$gtw/g;
$xml =~ s/##IP2##/$ip02/g;
$xml =~ s/##MASK2##/$msk2/g;
close (FILE);
my $outfile = "/var/www/autoyast/sles8/x86/$host.xml";
unless (open (OUT, ">", $outfile )) {
print "Fehler: konnte Datei '$outfile' nicht erstellen: $!\n";
exit;
} # unless
else {
print OUT $xml;
unless (close(OUT)) {
print "Fehler beim schliessen von '$outfile': $!\n";
exit; # z.B. festplatte voll, rechte verloren
} # unless
} # else
print "File erstellt unter http://localhost/autoyast/sles8/x86/$host.xml<br>\n"
}
}
Datum: 24.02.2005-11:24
