in reply to Net::SFTP problem, an odd twist.

I had the same issue. When the user and password are hard coded it works fine, if the values are pulled in from a configuration object it fails: 'input must be 8 bytes long at ...'

This became a problem only after I switched from using a csv config file (that was parsed directly by the script) to an xml config file (that is parsed by a configuration module using XML::Parser).

Now I cannot tell you why this works, and I would love it for someone to explain, but it does. I think for some reason the data cannot be padded correctly for Crypt::DES before this transformation.

my $pass = $user_data->{password}; my $user = $user_data->{user}; my @pass = split '', $pass; my @user = split '', $user; $user = join '', @user; $pass = join '', @pass;