# Put file(s) - MD5 ################### if ( ($returnval >= 0) && ($method eq "MD5") ) { my ($lsfile); my (@All); my ($match_file)=$loc_file; opendir (DIR, $loc_dir) or endit("could not find local directory"); # Convert standard wildcards to regexps $match_file =~ s/\*/\.\*/; $match_file =~ s/\?/\./; my ($fname); while (defined ($lsfile = readdir DIR)) { push (@All, $lsfile) if $lsfile =~ /^$match_file$/; } closedir DIR; if ( ($rem_file) && ($#All gt 0 ) ) { printit("specified to rename remote file but more than one matching local file"); $returnval=-1; } else { foreach $fname (@All) { my ($locname); my ($remname); $locname = $fname; if ($rem_file) { $remname = $rem_file; } else { $remname = $fname; } if ($loc_dir) { $locname = $loc_dir . '/' . $locname; } $locname=~s/\/\//\//g; if ($rem_dir) { $remname = $rem_dir . '/' . $remname; } $remname=~s/\/\//\//g; my ($md5sum)=generate_md5($locname); if ($md5sum eq -1) { printit("md5 checksum generation failed"); $returnval=-1; } else { $remname = $remname . "_" . $md5sum; if ($ftp->put($locname,$remname)) { printit("put $locname as $remname successful"); } else { printit("failed to put $locname as $remname"); $returnval=-1; } } } } } # Close session ############### $ftp->quit; if ($returnval >= 0) { printit("ftp session ended with success"); } else { printit("ftp session ended with failure"); } print "\n\t Aboot tae send the return value!\n" ; return $returnval; print "\n\t I dinna expect tae see this message!!\n" ; }