Philipp Hasenfratz: Datei wird nicht gefüllt

Beitrag lesen

Halihallo shadow

Muss ich irgendetwas beachten in Perl oder hab ich was flasch gemacht in Perl.

Beides ja.

der Befehl sieht bei mir Monentan so aus:
system(/usr/home/ronny/www/cgi-bin/Aufruf.sh);

Warum Backticks um Himmels willen?

perldoc perlop

<cite>
A string which is (possibly) interpolated and then executed as a
system command with /bin/sh or its equivalent. Shell wildcards,
pipes, and redirections will be honored. The collected standard
output of the command is returned; standard error is unaffected. In
scalar context, it comes back as a single (potentially multi-line)
string, or undef if the command failed. In list context, returns a
list of lines (however you've defined lines with $/ or
$INPUT_RECORD_SEPARATOR), or an empty list if the command failed.
</cite>

Der Backtick _führt_ das Shell-Script bereits aus und gibt _dessen_
Ausgabe zurück, welche du dann system() übergibst. Was du tust ist
a) das .sh-Script ausführen und
b) dessen _Ausgabe_(!) nochmals ausführen

Das kann nicht gut kommen! - Wobei ich mir noch nicht erklären kann,
warum die Datei auf 0 truncated (bzw. erstellt) wird. Aber ohne Code
ist das auch schwer nachzuvollziehen.

Viele Grüsse

Philipp