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 AUTHOR Michal Špaček LICENSE AND COPYRIGHT © Michal Špaček 2013-2015 BSD 2-Clause License VERSION 0.04