in reply to Re: NET::SFTP::Foreign in perl
in thread NET::SFTP::Foreign in perl

object version 2.42 does not match bootstrap parameter .... Compilation failed in require at /usr/perl5/site_perl/5.12/Net/SFTP/Foreign.pm line 19

Seems to be a very garbled output that you've got there.
"Line 19" (though I think it's actually line 20) of Foreign.pm is require Encode;
Somewhere in your upgrade it would seem that Encode has not been updated correctly. The version of the compiled element of Encode (ie the "object version") is at version 2.42, while Encode.pm itself is apparently at some different version.

What does the following one-liner output:
perl -le 'require Encode;'
If that produces an "object version 2.42" error, then try installing Encode again - and get back to us again if that doesn't fix the error.
(Of course, also let us know if the above one-liner worked fine - in which case there will have been no output, and the solution to your problem requires further thought.)

Update: If you do need to post again, please provide output of perl -V

Cheers,
Rob

Replies are listed 'Best First'.
Re^3: NET::SFTP::Foreign in perl
by Corion (Patriarch) on Jul 16, 2019 at 08:40 UTC

    While "reinstall Encode" is one approach to a solution, if the OP actually has two versions of Perl installed (5.8 and 5.12) and wants to keep both, they should instead make sure that the Perl versions get separate module directories. But if 5.8 is gone, then simply overwriting should work.