in reply to Trouble with NET::FTPSSL

Are you sure you didn't code it as:
Encryption => 'EXP_CRYPT', or Encryption => "EXP_CRYPT",
Looking at the module's source, I think it needs to be a bareword Encryption => EXP_CRYPT (ie no quotes).
And the error message you've supplied is consistent with EXP_CRYPT having been quoted, and inconsistent with EXP_CRYPT having been unquoted.

The error arises from this check in FTPSSL.pm:
return _croak_or_return (undef, $die, $dbg_flg, "Encryption mode unknown! ($encrypt_mode)" +) if ( $encrypt_mode ne IMP_CRYPT && $encrypt_mode ne EXP_CRYPT && $encrypt_mode ne CLR_CRYPT );
Near the beginning of FTPSSL.pm we have:
use constant EXP_CRYPT => "E";
Therefore, if FTPSSL.pm's $encrypt_mode has been assigned as you intend, it should have been set to E, not EXP_CRYPT as the error reports.

At least that's the way it looks to me.

Cheers,
Rob

UPDATE: Alternatively, it might be that you haven't imported EXP_CRYPT - in which case that could be fixed by specifying:
Encryption => Net::FTPSSL::EXP_CRYPT,
Without seeing more of your code, it's hard to know for sure.
(Also fixed typos in my initial post.)