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, No::PersonNr, Se::PersonNr.
REPOSITORY
https://github.com/tupinek/Person::ID::CZ::RC
AUTHOR
Michal Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
BSD license.
VERSION
0.01