NAME Business::ID::SIM - Validate Indonesian driving license number (nomor SIM) VERSION version 0.02 SYNOPSIS use Business::ID::SIM; # OO-style my $sim = Business::ID::SIM->new($str); die "Invalid SIM!" unless $sim->validate; print $sim->year_of_birth, "\n"; # also, yob() print $sim->mon_of_birth, "\n"; # also, mob() print $sim->area_code, "\n"; print $sim->serial, "\n"; # procedural style validate_sim($str) or die "Invalid SIM!"; DESCRIPTION This module can be used to validate Indonesian driving license number, Nomor Surat Izin Mengemudi (SIM). SIM is composed of 12 digits as follow: yymm.pp.aa.ssss yy and mm are year and month of birth, pp and aa are area code (province+district of some sort), ssss is 4-digit serial most probably starting from 1. Note that there are several kinds of SIM (A, B1, B2, C) but this is not encoded in the SIM number and all SIM's have the same number. METHODS new $str Create a new "Business::ID::SIM" object. validate() Return true if SIM is valid, or false if otherwise. In the case of SIM being invalid, you can call the errstr() method to get a description of the error. errstr() Return validation error of SIM, or undef if no error is found. See "validate()". normalize() Return formatted SIM, or undef if SIM is invalid. pretty() Alias for normalize(). area_code() Return 4-digit 'province'+district code component of SIM. year_of_birth() Return year component of the SIM, already added with the century, or undef if SIM is invalid. yob() Alias for year_of_birth() month_of_birth() Return month component of the SIM, or undef if SIM is invalid. mob() Alias for month_of_birth(). serial() Return 4-digit serial component of SIM, or undef if SIM is invalid. FUNCTIONS validate_sim($string) Return true if SIM is valid, or false if otherwise. If you want to know the error details, you need to use the OO version (see the "errstr" method). Exported by default. AUTHOR Steven Haryanto, "" BUGS The list of valid 'province' codes in the program might need to be updated from time to time. Please report any bugs or feature requests to "bug-business-id-sim at rt.cpan.org", or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. SUPPORT You can find documentation for this module with the perldoc command. perldoc Business::ID::SIM You can also look for information at: * RT: CPAN's request tracker * AnnoCPAN: Annotated CPAN documentation * CPAN Ratings * Search CPAN ACKNOWLEDGEMENTS COPYRIGHT & LICENSE Copyright 2009 Steven Haryanto. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. AUTHOR Steven Haryanto COPYRIGHT AND LICENSE This software is copyright (c) 2010 by Steven Haryanto. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.