Updated to satisfy perlcritic.

  This means "use strict" + "use warnings", and removing some
 explicit "return undef;" statements.
  More perlcritic fixups.

  This mostly involved removing/masking the "return undef", and adding:

        use strict;
        use warnings;

  The code continues to pass the test-cases.