Perl verhält sich merkwürdig

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Vic
Beiträge: 35
Registriert: 16.03.2006 15:32:27
Wohnort: /home/beerconnection

Perl verhält sich merkwürdig

Beitrag von Vic » 19.08.2006 13:12:41

Hallo liebe Community,

ich bin gerade dabei perl zu lernen und bemerke gerade, dass ich ein kleines aber, in Bezug auf meine Aufgabe, ernstes Problem habe.

Und zwar:
Ich habe hier das folgende Script zusammengeklau.. ähm geschrieben und wenn ich einen Doppelklick darauf ausführe, funktioniert es ohne Probleme.
Rufe ich es allerdings das Script mittels der Konsole auf, so passiert nix, bzw. es werden keine Daten in den Ordner geschrieben, aber die Ausgaben erscheinen.

Hier ist erstmal das Script:

Code: Alles auswählen

#!/usr/bin/perl -w
#

use strict;
use warnings;
use DBI;

my $user    = 'root';
my $pass    = '';
my $db      = 'survey';
my $host    = 'localhost';
my $driver  = "DBI:mysql:$db:$host";
my $dbh     =  DBI->connect($driver,$user,$pass) or die $DBI::errstr;

my $statement = 'SELECT * FROM token';
my $sth = $dbh->prepare($statement) or die $DBI::errstr;

$sth->execute() or die $DBI::errstr;

my @ergebnisse;
my @result;
while(my @row = $sth->fetchrow_array())
{
  push(@result, @row);
}

print @result;

open(FILE, ">./test.txt");
print FILE @result;
close(FILE);
Ich dachte zuerst an irgendein Rechteproblem, aber das gleiche Verhalten tritt auch auf, wenn ich das Script als root ausführe. Oo

Was noch zu bemerken ist, ist dass das Script in einem Extra Ordner des Wurzelverzeichnisses liegt.
Um konkret zu werden in /survey_daemon/

Weiss einer zufälliig Bescheid, woran es liegen könnte, dass sich perl so seltsam verhält?

MfG

Vic

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 19.08.2006 13:16:18

Das Skript schreibt in den Order, von dem aus es aufgerufen wurde... Welcher das jetzt ist, wenn du es per Symbol aufrufst, weiss ich nicht. Lasse es doch mal nach /tmp/test.txt schreiben...

Vic
Beiträge: 35
Registriert: 16.03.2006 15:32:27
Wohnort: /home/beerconnection

Beitrag von Vic » 19.08.2006 16:30:18

Argh,

da hätte ich auch selbst drauf kommen können!
Ich rufe das Script über meinen Browser auf, kein Wunder, dass das nicht im richtigen Ordner drin war!

Danke vielmals!

MfG

Vic

Antworten