NAME

Person::ID::CZ::RC - Perl class for Czech RC identification.

SYNOPSIS

 use Person::ID::CZ::RC;
 my $obj = Person::ID::CZ::RC->new(%params);
 my $alternate = $obj->alternate;
 my $checksum = $obj->checksum;
 my $error = $obj->error;
 my $is_valid = $obj->is_valid;
 my $month = $obj->month;
 my $rc = $obj->rc;
 my $serial = $obj->serial;
 my $sex = $obj->sex;
 my $year = $obj->year;

METHODS

new(%params)
 Constructor.
  • rc

     Input Czech RC identification.
     It is required.
alternate()
 Get flag, that means alternate RC identification.
 Returns 0/1.
checksum()
 Get checksum.
 Returns string with one number character or '-'.
day()
 Get day of birth.
 Returns string with day.
error()
 Get error.
 Returns error string or undef.
is_valid()
 Get flag, that means validity of rc identification.
 Returns 0/1.
month()
 Get month of birth.
 Returns string with month.
rc()
 Get rc identification.
 Returns string with rc identification.
serial()
 Get serial part of rc identification.
 Returns string with three numbers.
sex()
 Get flag, that means sex of person.
 Returns male/female string.
year()
 Get year of birth.
 Returns string with year.

ERRORS

 new():
         Parameter 'rc' is required.
         From Class::Utils::set_params():
                 Unknown parameter '%s'.

EXAMPLE1

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 use Person::ID::CZ::RC;

 # Object.
 my $obj = Person::ID::CZ::RC->new(
         'rc' => '840501/1330',
 );

 # Get error.
 my $error = $obj->error || '-';

 # Print out.
 print "Personal number: ".$obj->rc."\n";
 print "Year: ".$obj->year."\n";
 print "Month: ".$obj->month."\n";
 print "Day: ".$obj->day."\n";
 print "Sex: ".$obj->sex."\n";
 print "Serial: ".$obj->serial."\n";
 print "Checksum: ".$obj->checksum."\n";
 print "Alternate: ".$obj->alternate."\n";
 print "Valid: ".$obj->is_valid."\n";
 print "Error: ".$error."\n";

 # Output:
 # Personal number: 840501/1330
 # Year: 1984
 # Month: 05
 # Day: 01
 # Sex: male
 # Serial: 133
 # Checksum: 0
 # Alternate: 0
 # Valid: 1
 # Error: -

EXAMPLE2

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 use Person::ID::CZ::RC;

 # Object.
 my $obj = Person::ID::CZ::RC->new(
         'rc' => '840230/1337',
 );

 # Get error.
 my $error = $obj->error || '-';

 # Print out.
 print "Personal number: ".$obj->rc."\n";
 print "Year: ".$obj->year."\n";
 print "Month: ".$obj->month."\n";
 print "Day: ".$obj->day."\n";
 print "Sex: ".$obj->sex."\n";
 print "Serial: ".$obj->serial."\n";
 print "Checksum: ".$obj->checksum."\n";
 print "Alternate: ".$obj->alternate."\n";
 print "Valid: ".$obj->is_valid."\n";
 print "Error: ".$error."\n";

 # Output:
 # Personal number: 840230/1337
 # Year: 1984
 # Month: 02
 # Day: 30
 # Sex: male
 # Serial: 133
 # Checksum: 7
 # Alternate: 0
 # Valid: 0
 # Error: Date isn't valid.

EXAMPLE3

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 use Person::ID::CZ::RC;

 # Object.
 my $obj = Person::ID::CZ::RC->new(
         'rc' => '840229/1330',
 );

 # Get error.
 my $error = $obj->error || '-';

 # Print out.
 print "Personal number: ".$obj->rc."\n";
 print "Year: ".$obj->year."\n";
 print "Month: ".$obj->month."\n";
 print "Day: ".$obj->day."\n";
 print "Sex: ".$obj->sex."\n";
 print "Serial: ".$obj->serial."\n";
 print "Checksum: ".$obj->checksum."\n";
 print "Alternate: ".$obj->alternate."\n";
 print "Valid: ".$obj->is_valid."\n";
 print "Error: ".$error."\n";

 # Output:
 # Personal number: 840229/1330
 # Year: 1984
 # Month: 02
 # Day: 29
 # Sex: male
 # Serial: 133
 # Checksum: 0
 # Alternate: 0
 # Valid: 0
 # Error: Checksum isn't valid.

EXAMPLE4

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 use Person::ID::CZ::RC;

 # Object.
 my $obj = Person::ID::CZ::RC->new(
         'rc' => '840229/133',
 );

 # Get error.
 my $error = $obj->error || '-';

 # Print out.
 print "Personal number: ".$obj->rc."\n";
 print "Year: ".$obj->year."\n";
 print "Month: ".$obj->month."\n";
 print "Day: ".$obj->day."\n";
 print "Sex: ".$obj->sex."\n";
 print "Serial: ".$obj->serial."\n";
 print "Checksum: ".$obj->checksum."\n";
 print "Alternate: ".$obj->alternate."\n";
 print "Valid: ".$obj->is_valid."\n";
 print "Error: ".$error."\n";

 # Output:
 # Personal number: 840229/133
 # Year: 1984
 # Month: 02
 # Day: 29
 # Sex: male
 # Serial: 133
 # Checksum: -
 # Alternate: 0
 # Valid: 0
 # Error: Format of rc identification hasn't checksum.

EXAMPLE5

 # Pragmas.
 use strict;
 use warnings;

 # Modules.
 use Person::ID::CZ::RC;

 # Object.
 my $obj = Person::ID::CZ::RC->new(
         'rc' => '840229|1330',
 );

 # Get error.
 my $error = $obj->error || '-';

 # Print out.
 print "Personal number: ".$obj->rc."\n";
 print "Year: ".$obj->year."\n";
 print "Month: ".$obj->month."\n";
 print "Day: ".$obj->day."\n";
 print "Sex: ".$obj->sex."\n";
 print "Serial: ".$obj->serial."\n";
 print "Checksum: ".$obj->checksum."\n";
 print "Alternate: ".$obj->alternate."\n";
 print "Valid: ".$obj->is_valid."\n";
 print "Error: ".$error."\n";

 # Output:
 # Personal number: 840229|1330
 # Year: -
 # Month: -
 # Day: -
 # Sex: -
 # Serial: -
 # Checksum: -
 # Alternate: -
 # Valid: 0
 # Error: Format of rc identification isn't valid.

DEPENDENCIES

Class::Utils, DateTime, English, Error::Pure.

SEE ALSO

Business::DK::CPR

Danish CPR (SSN) number generator/validator

No::PersonNr

Check Norwegian Social security numbers

Person::ID::CZ::RC::Generator

Perl class for Czech RC identification generation.

Se::PersonNr

Module for validating and generating a Swedish personnummer.

REPOSITORY

https://github.com/tupinek/Person::ID::CZ::RC

AUTHOR

Michal Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

 © Michal Špaček 2013-2015
 BSD 2-Clause License

VERSION

0.04