#!/usr/bin/perl -w require 5.002; use Net::SFTP; use Net::FTP; use Net::SFTP::Foreign; use warnings; my ($i,$all,%arg,$host,$path); %arg = ( user => "username", password=> "password", ); $host="1.1.1.1"; my $sftp = Net::SFTP::Foreign->new($host,%arg); my $ftp = Net::FTP->new("1.1.1.1",Port=>21) or die "Cannot connect to 1.1.1.1"; $ftp->login("username","password"); foreach $i ($sftp->ls(".")){ $fname=$i->{filename}; if ($fname=~ m/.pri$/){ $rname="/home/location/$fname"; if (-e $rname){ }else{ push @fields,$fname ; } } } foreach $i( @fields){ $sftp->get($i,"/home/msbill1/$i"); $ftp->put("/home/msbill1/$i","/tocustomer/$i"); ($t,undef)=split '.pri',$i; $t=$t.".scd"; # print "$t \n"; $sftp->do_rename($i,$t); }