EXAMPLES
Writing a module implementing a Stringprep profile is very easy: Simply call Unicode::Stringprep-
new> with the correct parameters and bind the returned function variable (closure) to a name of your module.
The following is a complete functional module implementing RFC 3491:
package Net::IDN::Nameprep;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(nameprep);
use Unicode::Stringprep;
use Unicode::Stringprep::Mapping;
use Unicode::Stringprep::Prohibited;
*nameprep = Unicode::Stringprep->new(
3.2,
[
@Unicode::Stringprep::Mapping::B1,
@Unicode::Stringprep::Mapping::B2
],
'KC',
[
@Unicode::Stringprep::Prohibited::C12,
@Unicode::Stringprep::Prohibited::C22,
@Unicode::Stringprep::Prohibited::C3,
@Unicode::Stringprep::Prohibited::C4,
@Unicode::Stringprep::Prohibited::C5,
@Unicode::Stringprep::Prohibited::C6,
@Unicode::Stringprep::Prohibited::C7,
@Unicode::Stringprep::Prohibited::C8,
@Unicode::Stringprep::Prohibited::C9
],
1,
);
1;
SEE ALSO
For a more elaborate version including documentation, see: Net::IDN::Nameprep.