Hi Everyone,

I have a situation where I need to open a sftp connection, need to pull the
file and have to verify receipt of local file after that have to rename the
file in remote dir. For that, I wrote the following code. The code is giving
the output given below and coming out of the program. But I could see the
file in $logDir. Please let me know how I can fix the code.

  open (FH, "|sftp [EMAIL PROTECTED]") or exception ("Unable to open the sftp:
$!");
    foreach my $filename (@files) {
      $localFile = makeFilePath( $logDir, $filename );
      print( "Retrieving output file $filename" );
      $remoteFile = makeFilePath($fileDir, $filename);
      print FH "get $remoteFile $logDir\n";
      FH->autoflush(1) ;
*      die ( "Error retrieving output file: $localFile" ) if ( !-e
$localFile);*
      # To Rename the file to file.old
      $oldFile = $remoteFile.".old";
      print FH "rename $remoteFile $oldFile\n" or report "$!";
      FH->autoflush(1);
      push @dataFiles, $localFile;
    }

Output:

Retrieving output file tissmAPI08220000.txt
Error retrieving output file: /crdv8/logs/tissmAPI08220000.txt
Pre-processing/data-mapping step reported failure on feed NAPI SM load
sftp> Fetching /trading/tissmAPI08220000.txt to
/crdv8/logs/tissmAPI08220000.txt
sftp>

Reply via email to