Thread Text in Datei schreiben
(8 answers)
Opened by Zele at 2012-05-24 15:05
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: Code: (dl
)
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: Code (perl): (dl
)
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 #!/usr/bin/perl use strict; use warnings; my $output_file = 'upload.txt'; my $filename = 'irgendwas'; #create ftp info file 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! |