Wie Muffi schon drauf hinwies, steckt der Fehler wohl in Zeile 5.
Die Fehlermeldung teilt Dir das übrigens auch mit:
syntax error at ./ftp.pl line 5, near ""open xxxx.dyndns.org"\"
Zeile 5:
print file "open xxxx.dyndns.org"\n";
Andere Punkte (pauschal ;-) ):
+ Du verwendest Perl ;-)
- Ein
open() kann fehlschlagen; daher sollte man den Erfolg überprüfen.
- Anstatt "Barewords" sollte man heutzutage eher lexikalische Filehandles verwenden.
- Die 3-Argument-Form des open() schützt vor Fehlern und Sicherheitsproblem beim Öffnen von Dateien und sollte daher bevorzugt verwendet werden.
- Mit einem HERE-Dokument kann man die Ausgabe vereinfachen.
Überarbeitet und ungetestet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use strict;
use warnings;
my $output_file = 'upload.txt';
my $filename = 'irgendwas';
open( my $outfh, '>', $output_file ) or die "open($output_file,w) failed: $!\n";
print $outfh <<"OUTPUT";
open xxxx.dyndns.org
benutzername
passwort
binary
prompt
cd /pfad/
mget $filename.tar.gz
quit
OUTPUT
close( $outfh) or die "close($outfh) failed: $!\n";;
edit:
"Andere Punkte" sanfter umformuliert.
Last edited: 2012-05-24 16:17:49 +0200 (CEST)
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!