Ich versuche folgendes (als Teil eines Scriptes):
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
26
27
28
29
30
31
32
33
sub checkips
{
foreach $line(@IPLIST)
{
$CURRENTIP = "$line";
my $ftp = "";
$ftp = Net::FTP->new("$CURRENTIP", Debug => 1);
$ftp->login("anonymous",'-anonymous@') || do {$FTPCODE = "nologin"};
foreach(@FOLDERS)
{
$CURRENTFOLDER = "$_";
print "* Now scanning $CURRENTIP with folder $CURRENTFOLDER:";
if ($FTPCODE ne 'nologin')
{
$ftp->cwd("$CURRENTFOLDER") || do {$FTPCODE = "nocwd"};
if ($FTPCODE ne 'nocwd')
{
$ftp->put("$TESTFILE") || do {$FTPCODE = "noput"};
if ($FTPCODE ne 'noput')
{
push(@OPENIPS, "IP: $CURRENTIP with Folder: $CURRENTFOLDER");
}
}
}
print "\n\n";
}
$ftp->quit();
}
}
Wie Ihr seht möchte ich nach jeder Net::FTP Aktion überprüfen, ob diese fehlgeschlagen ist, und nur dann weiter machen, wenn sie ok war. Meine Lösung funktioniert aber nicht, er mach lediglich das Login. Was habe ich falsch gemacht? Gibt es ev. einen besseren Weg?
Bin für jeden Hinweis dankbar...
mfg
Thomas