Schrift
[thread]12742[/thread]

Ausgabe: Variablen werden nicht angezeigt



<< >> 6 Einträge, 1 Seite
Gast Gast
 2008-11-10 16:59
#116149 #116149
Hi zusammen,

habe ein kleines Problem mit der Ausgabe von Perl.

Und zwar:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
my $state;
open (datei ,"$AUSGABE ");
while(my $line = <datei>) {
if($line =~ m/^SP\s+\w+\s+\w+\s+\w+\s+(\w+)/) {
$state = $1;
if($1 =~ m/Enabled/) {
$error_counter = 0;
} else {
$error_counter++;
}
}
}
close (datei);

if($error_counter == 0) {
print "O.K.: Write Cache State $state \n";
exit (0);
} else {
print "Critical: Write Cache State $state \n";
exit (2)
}



wenn ich das ganze von der Konsole starte, dann stimmt die Ausgabe.
Wenn ich das über PHP anzeigen lasse, werden die Variablen nicht angezeigt, nur der Text, wäre so als wären Sie leer. Habe auch schon die Variablen mit einem Wert gefüllt (my $state = "test"). Dann wird diese über die Konsole überschrieben und wenn ich das über das Webinterface anstoße, dann nicht.

Es liegt irgendwie an den Pattern oder so?

Kann mir da jemand weiterhelfen.

danke
renee
 2008-11-10 17:07
#116164 #116164
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Verwende mal Wiki:use strict und use warnings. Bei dem open solltest Du eine Fehlerbehandlung einfügen:

Code (perl): (dl )
open (datei ,"$AUSGABE ") or die "cannot open $AUSGABE: $!";

(Nebenbei: Schau Dir mal Wiki:lexikalische Filehandles an)

Ich vermute mal, dass der User, unter dem das Webinterface läuft, keine Leserechte auf die Datei hat...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-11-10 17:18
#116166 #116166
hi,

das habe ich auch schon geprüft, die Berechtigungen sind richtig gesetzt.

Ich habe die Fehlerabfrage eingebaut, es kommt keine Fehlermeldung.

Der User der das Script auf der Konsole ausfühert, ist auch der Benutzer für das Webinterface, bzw. werden Scripte mit dem Benutzer ausgeführt.

Hast du sonst noch eine Idee?
Linuxer
 2008-11-10 17:48
#116167 #116167
User since
2006-01-27
3872 Artikel
HausmeisterIn

user image
Hast Du schon "use strict;" und "use warnings;" eingebaut?

Ich vermute Dein Problem im Gültigkeitsbereich der Variable $error_counter.

Mit strict und warnings sollten entsprechende Meldungen erscheinen.
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!
Gast Gast
 2008-11-10 17:53
#116168 #116168
ja, habe use strict und use warnings eingetragen.
Linuxer
 2008-11-10 19:03
#116170 #116170
User since
2006-01-27
3872 Artikel
HausmeisterIn

user image
Erstelle doch bitte mal ein Minimalbeispiel, dass alle relevanten Daten nachvollziehbar enthält (will sagen, in dem auch klar wird, wo, wann und womit welche Variablen deklariert und initialisiert werden).
Logischerweise sollte das Skript strict und warnings benutzen.

Ausserdem läßt Du uns völlig im Unklaren, was

Quote
Wenn ich das über PHP anzeigen lasse, werden die Variablen nicht angezeigt, nur der Text, wäre so als wären Sie leer.


bedeuten soll.

Ich denke, es ist ein Perl-Skript; was hat dann PHP damit zu tun?

Wie wird das umgesetzt? Auch hier ist ein nachvollziehbares Beispiel für den PHP Teil notwendig.
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!
<< >> 6 Einträge, 1 Seite



View all threads created 2008-11-10 16:59.