find-Aufruf klappt nicht
TED116
- perl
Hallöle,
ich bin gerade dabei ein CGI-Programm in Perl zu schreiben, welches im ersten Schritt alle Dateien
namens index.txt aus einem bestimmten Verzeichnis in eine Datei schreibt. Dieses Programm soll
später dazu dienen den FTP-Server automatisch auszulesen.
Mein Aufruf sieht folgendermaßen aus (LINUX-Server):
$startdir = "/home/ftp/pub/";
$dateiname = "index.txt";
$listdatei = "/tmp/index.list";
commandline = "find "$startdir"";
commandline .="-name "$dateiname"";
commandline .="-fprint "$listname"";
system ($commandline);
Gebe ich "find /home/ftp/pub/ -name index.txt -fprint /tmp/index.list" direkt über telnet ein funktionierts.
Teste ich aber das Skript mit perl -c bricht er mir mit folgendem Fehler ab:
<Can't modify constant item in scalar assignment at ftp.pl line 8, near ""find "$startdir"";"
<ftp.pl had compilation errors.
Kommentiere ich die commandline-Zeilen aus, ist die Syntax ok.
Wo liegt mein Fehler? Hab ich was übersehen?
Danke und grüsse
TED116
Hi,
commandline = "find "$startdir"";
Du bist zu arm, kannst Dir nicht mal ein paar $ leisten ;-)
Vor allem möchtest Du aber eigentlich File::Find benutzen, anstatt auf Systemkommandos zurückzugreifen. Besser isses, schon allein wegen der Sicherheit.
Cheatah
Hy,
Du bist zu arm, kannst Dir nicht mal ein paar $ leisten ;-)
Uups! Da sieht man doch den Wald vor lauter Bäumen nicht!
Vor allem möchtest Du aber eigentlich File::Find benutzen, anstatt auf Systemkommandos zurückzugreifen. Besser isses, schon allein wegen der Sicherheit.
War eigentlich nicht angedacht. Werde mich aber sofort damit beschäftigen ;-)
Danke
TED116