(...) use File::Slurp; use Crypt::CBC; #underlying cipher is Crypt::Twofish_PP (...) my $infilename = shift; my $outfilename = shift; my $cipher = Crypt::CBC->new($self->{SYMMKEY}, 'Twofish_PP'); $cipher->start('decrypting'); my $ref_file_str = read_file($infilename, scalar_ref => 1); my $enc_file_str = $cipher->crypt($$ref_file_str); $enc_file_str .= $cipher->finish; write_file($outfilename, \$enc_file_str); (...)