![]() |
perl Problem
Ich hab auf meiner Linux Box Zaval FileSearch installiert, mit diesem Programm kann ich im Netzwerk diverse FTP Server scannen und dann via Web-Interface nach Dateien suchen
http://www.zaval.org/products/file-search/ Nun hab ich dem Entwickler geschrieben, ob es nicht möglich sei, für jeden FTP Server User, Passwort und Port anzugeben, also in der Form ftp://user:pass@host:port Er hat mir auch zurückgeschrieben welche Änderungen ich in der Datei, die den Hostscan macht, vornehmen soll, leider jedoch ist der Code nicht korrekt und von perl hab ich überhaupt keine Ahnung ... Hier mal ein Ausschnitt des Quellcodes welchen mir der Entwickler geschickt hat Code:
my $port = '21', $login, $pwd;Hier der Link zum gesamten File http://www.geraldholl.cc/scan-host.pl.txt |
Welche Meldung gibt der Interpreter aus wenn du das Programm startest?
|
Keine, sprich kein Syntax Fehler ...
|
Hat mich wer gerufen? ;)
Du musst den Code schon in das Script einbauen, sonst klappt es nicht! ;) Ab Zeile 207 in deinem Code: Code:
# The result file has the following structure:Code:
# The result file has the following structure: |
Ich werde nie wieder gleichzeitig Perl-coden und telefonieren.
Ich werde nie wieder gleichzeitig Perl-coden und telefonieren. Ich werde nie wieder gleichzeitig Perl-coden und telefonieren. Ich werde nie wieder gleichzeitig Perl-coden und telefonieren. Der richtige neue Code lautet: Code:
# ORI.m3: $ftp = Net::FTP->new($host); |
@m3
geht leider auch noch nicht ... Wenn ich in der Datei keinen User und pass angebe, dann verbindet er sich zum FTP, gebe ich jedoch User und pass an, dann verbindet er sich überhaupt nicht zum Server ... |
Wie gibst du es denn an?
|
|
Ich hab jetzt mal mittels einer print Anweisung $login und $pwd ausgegeben, die sind korrekt, jedoch der Port wird noch falsch erkannt ... Aber warum erfolgt kein Login trotz korrekten Users und Passwortes?
edit: ich hab den Fehler, bei $port steht immer passwort@IP drinnen ... nur was is da falsch? edit2: Auch die IP passt nicht, in der Var. $host steht immer der username drin |
Soda, jetzt hab ich's gelöst:
Code:
my $port = '21', $login, $pwd; |
:)
|
Ich bräuchte da noch eine kleine Hilfestellung:
Ich möchte testen, ob ein gewisses Zeichen in einer Variable enthalten ist, wie geht das? Also in der Art if $name contains '@' { ... } |
Zitat:
~ |
Jetzt bräuchte ich noch mal was ...
In Pascal gibt es die Möglichkeit abzufragen, ob ein bestimmtes Zeichen an einer bestimmten Stelle eines Strings steht, und zwar if str[1] <> 'a' then ... Ist sowas auch in perl möglich? Ich möchte prüfen, ob an der ersten Stelle einer Variable ein '/' steht, falls nicht, soll dieser am Anfang eingefügt werden. |
Ohne Gewähr:
Code:
if (! ($str =~ /^\//) )Code:
if (substr($str, 0,1) neq '/')~ |
Zitat:
|
Hab leider k.A. wie der CONCAT-Operator in Perl ausschaut...
Code:
$str = '/' . $str;Code:
$str = '/' + $str; |
Zitat:
|
Die if Abfrage passt leider noch nicht,
if (! ($str =~ /^\//) ) prüft anscheinend den ganzen String und nicht nur die erste Stelle und if (substr($str, 0,1) neq '/') gibt einige Syntaxfehler aus edit: if (substr($str, 0,1) ne '/') ist korrekt, prüft aber auch nur den gesamten String und nicht genau die erste Stelle. edit2: Jetzt geht's, hab bei substr den "1" vergessen :D |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag