in reply to My first module is failing on CPAN

I'm hoping to get some guidance as to what I missed in the module side of things.
First, thank you for contributing to the free software community.

Second, I agree with holli that you should perhaps rename your module so that it contains letters and semi-colons only.

Third, when looking at your code, the thing I would like to see added is tests of the core functionality. E.g. like the one below (I'd create one file for each main function). I was once surprised just how difficult it is to write working code for multiple platforms, given different architectures and endianness.

# 01-yubikey_decrypt.t use strict; use warnings; use Test::More; use Auth::Yubikey_Decrypter; my $fulltoken = "dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh"; my $aeskey = "ecde18dbe76fbd0c33330f1c354871db"; my ($publicID,$secretid_hex,$counter_dec,$timestamp_dec,$session_use_d +ec,$random_dec,$crc_dec,$crc_ok) = Auth::Yubikey_Decrypter::yubikey_decrypt($fulltoken,$aeskey); plan tests => 8; is($publicID, q{dteffuje}, q{Expect publicID eq dteffuje}); is($secretid_hex, q{8792ebfe26cc}, q{Expect secretid_hex eq 8792ebf +e26cc}); is($counter_dec, q{19}, q{Expect counter_dec eq 19}); is($timestamp_dec, q{49712}, q{Expect timestamp_dec eq 49712} +); is($session_use_dec, q{17}, q{Expect session_use_dec eq 17}) +; is($random_dec, q{40904}, q{Expect random_dec eq 40904}); is($crc_dec, q{51235}, q{Expect crc_dec eq 51235}); is($crc_ok, q{1}, q{Expect crc_ok eq 1}); __END__
Fourth, in a question of personal preference, I think the yubikey_decrypt subroutine probably would be better off returning a named hash rather than an 8-element list.
--
No matter how great and destructive your problems may seem now, remember, you've probably only seen the tip of them. [1]