PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Digitemp + Perl Script



ulange
21.10.06, 21:28
Hallo,

ich habe nach folgender Anleitung

http://www.linuxfocus.org/Deutsch/July2004/article342.shtml

Digitemp versucht mit einer MySQL DB ans laufen zubringen.

Nur leider läuft das Script für die Einlieferung in die DB nicht richtig. Die Aufarbeitung der Daten scheint nicht so zu klappen wie es sollte.
Vielleicht kann sich ein Perl Experte das mal ansehen.



#!/usr/bin/perl
#
# Digitemp Logdatei aufbereiten und in Datenbank sichern
# sbs 2003-08-09
#
use DBI;
use strict;

# Datenbank initialisieren
my $datasource = "dbi:mysql:database=digidb";
my $user = "root";
my $pass = "XX";

my $db = DBI->connect($datasource, $user, $pass)
or die "Verbindung zur Datenbank nicht möglich: " . $DBI::errstr;


# Digitemp filtern
while(<STDIN>) {
chomp;
# Ausgabe Programname überspringen
next if (m/Digi.*/);
# Ausgabe Leerzeile überspringen
next if (m/^$/);
# alles nach Fahrenheit überspringen
m/(.*).F.*/;
my $tempzeile = $1;


# Tempzeile aufteilen und in Variablen speichern
my ($monat, $tag, $zeit, $sensor_txt, $sensor_nr, $grad_txt, $grad_wert)
= split(/ /,$tempzeile);

# Datenbank füllen
$db->do( "insert into sensor$sensor_nr (monat, tag, zeit, messung)
values ('$monat', '$tag', '$zeit','$grad_wert')")
or die "do nicht möglich: " . $db->errstr();

}# END- Digitemp filter

# Datenbank schliessen
$db->disconnect;



Es wird kein Wert für $sensor_nr und $tempzeile zurückgeliefert.
Ich bin leider nicht so bewandert in der Programmierung.

Danke.

Gruß

ulange