004
31.08.2003, 20:33 Uhr
~worst_case
Gast
|
Abend Virtual,
hier mal mein kompletter Code:
Code:
Code: |
#!/usr/bin/perl -w
use strict; use CGI::Carp qw (fatalsToBrowser);
# Pfad in dem die Daten-Dateien stehen (mit Slash am Ende) my $datapath = "/srv/www/htdocs/data/"; # aus dieser Datei werden die Messwerte gelesen (Reihenfolge beachten) my @datafiles = qw (data_mpi_10 data_mpi_11 data_mpi_12);
# Path des datafiles (wo alle Daten von SPS gespeichert werden) my $template = "/srv/www/htdocs/sms/smstemplate"; my $smsfile = "/srv/www/htdocs/sms/smsfile";
# Variablen my $file; my @values; my $file_count = 0;
(my $sek, my $min, my $h, my $mtag, my $monat, my $jahr) = localtime(); my $zeit = $h.".".$min."Uhr"; my $datum = $mtag.".".($monat + 1).".".($jahr + 1900);
#einlesen sämtlicher Daten (Zentrale / M1 / M2)
foreach (@datafiles) { open ($file , "<".$datapath."$_") || die "$datapath.$_ konnte im Script '$0' nicht geoeffnet werden"; my @lines = <$file>; close ($file);
# Im Array "values" steht Referenz auf diese Array "lines" $values[$file_count++] = \ @lines; }
my $fptemplatefile; my $fpsmsfile; my @ausgabe; my $zeile;
# Template oeffnen
open ($fptemplatefile, "<".$template) || die "$template konnte vom Script '$0' nicht geöffnet werden"; open ($fpsmsfile, ">".$smsfile) || die "$smsfile konnte vom Script '$0' nicht geöffnet werden";
while(<$fptemplatefile>) { chomp; $zeile = $_; print "$zeile\n"; $zeile =~ s/(\$\w+) /$1/g; print "$zeile\n"; print $fpsmsfile $zeile."\n"; } close ($fptemplatefile); close ($fpsmsfile);
########################################################################
|
Sinn bzw. Unsinn der Sache. Ich hole mir von bestimmten Dateien Werte und lege diese auf ein zweidimensionales Scalare ($values[1][9] Die erste Nummer ist die Datei, die zweite die Zeilennummer Dann lese ich meine Vorlage ein in der z.B. steht -------------------------------------------------------------------------
Code: |
$zeit Uhr // $datum Temperatur: $values[1][10] C
|
Diese "Variablen" will ich gegen den Inhalt von Variablen (mit dem gleichen Namen) aus dem Perl-Script austauschen ersetzen. Wenn ich teste wird zwar die Variable ersetzt (durch den Namen der Variable) jedoch nicht gegen den Inhalt. Vielleicht sehe ich den Wald vor lauter Bäumen nicht.
Danke worst_case --edit: Pablo. [ code ] tags gesetzt-- Dieser Post wurde am 31.08.2003 um 21:07 Uhr von Pablo Yanez Trujillo editiert. |