Business-DK-CPR
view release on metacpan or search on metacpan
lib/Business/DK/CPR.pm view on Meta::CPAN
NONE TEST_AUTHOR TEST_CRITIC TEST_POD
--------------- ---- ----------- ----------- --------
00.load.t *
changes.t *
critic.t *
kwalitee.t *
pod-coverage.t *
pod.t *
prerequisites.t *
--------------- ---- ----------- ----------- --------
All of the above tests are actually boilerplates and are maintained as separate
components.
=head2 TEST COVERAGE
Coverage of the test suite is at 89.1% for release 0.04, the coverage report
was generated with the TEST_AUTHOR flag enabled (SEE: L<TEST AND QUALITY|/TEST AND QUALITY>)
---------------------------- ------ ------ ------ ------ ------ ------ ------
File stmt bran cond sub pod time total
---------------------------- ------ ------ ------ ------ ------ ------ ------
blib/lib/Business/DK/CPR.pm 74.2 41.9 53.8 100.0 100.0 72.9 70.3
.../Class/Business/DK/CPR.pm 89.1 85.7 77.8 71.4 100.0 27.1 86.0
Total 77.6 50.0 63.6 91.3 100.0 100.0 74.1
---------------------------- ------ ------ ------ ------ ------ ------ ------
=head2 PERL::CRITIC
This section describes use of L<Perl::Critic|Perl::Critic> from a perspective of documenting
additions and exceptions to the standard use.
=over
=item * L<Perl::Critic::Policy::Miscellanea::ProhibitTies|Perl::Critic::Policy::Miscellanea::ProhibitTies>
This package utilizes L<Tie::IxHash|Tie::IxHash> (SEE: L<DEPENDENCIES|/DEPENDENCIES>), this module
relies on tie.
=item * L<Perl::Critic::Policy::NamingConventions::NamingConventions::Capitalization|Perl::Critic::Policy::NamingConventions::NamingConventions::Capitalization>
CPR is an abbreviation for 'Centrale Person Register' (Central Person Register)
and it is kept in uppercase.
=item * L<Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs|Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs> deprecated by the policy above.
=item * L<Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma|Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma>
Constants are good in most cases, see also:
L<http://logicLAB.jira.com/wiki/display/OPEN/Perl-Critic-Policy-ValuesAndExpressions-ProhibitConstantPragma>
=item * L<Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers|Perl::Critic::Policy::ValuesAndExpressions::ProhibitMagicNumbers>
Some values and boundaries are defined for certain intervals of numbers, these
are currently kept as is. Perhaps with a refactoring of the use of constants to
use of L<Readonly|Readonly> will address this.
=back
=head1 BUGS AND LIMITATIONS
No known bugs at this time.
Business::DK::CPR has some obvious flaws. The package can only check for
validity and format, whether a given CPR has been generated by some random
computer program and just resemble a CPR or whether a CPR has ever been assigned
to a person is not possible without access to central CPR database an access,
which is costly, limited and monitored.
There are no other known limitations apart from the obvious flaws in the CPR
system (See: L<SEE ALSO|/SEE ALSO>).
=head1 BUG REPORTING
Please report issue via GitHub
=over
=item * L<GitHub Issues|https://github.com/jonasbn/perl-business-dk-cpr/issues>
=back
Alternatively report issues via CPAN RT:
=over
=item * L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Business-DK-CPR>
=back
or by sending mail to
=over
=item * C<bug-Business-DK-CPR@rt.cpan.org>
=back
=head1 SEE ALSO
=over
=item * L<http://www.cpr.dk/>
=item * L<Class::Business::DK::CPR|Class::Business::DK::CPR>
=item * L<Data::FormValidator::Constraints::Business::DK::CPR|Data::FormValidator::Constraints::Business::DK::CPR>
=item * L<Business::DK::PO|Business::DK::PO>
=item * L<Business::DK::CVR|Business::DK::CVR>
=item * L<http://logicLAB.jira.com/wiki/display/OPEN/Perl-Critic-Policy-ValuesAndExpressions-ProhibitConstantPragma>
=back
=head1 MOTIVATION
I write business related applications. So I need to be able to validate CPR
numbers once is a while, hence the validation function.
( run in 4.236 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )