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