| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Authen::SASL::SASLprep; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 2 |  |  | 2 |  | 40215 | use strict; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 306 |  | 
| 4 | 2 |  |  | 2 |  | 1849 | use utf8; | 
|  | 2 |  |  |  |  | 20 |  | 
|  | 2 |  |  |  |  | 13 |  | 
| 5 | 2 |  |  | 2 |  | 83 | use warnings; | 
|  | 2 |  |  |  |  | 3 |  | 
|  | 2 |  |  |  |  | 212 |  | 
| 6 |  |  |  |  |  |  | require 5.006_000; | 
| 7 |  |  |  |  |  |  |  | 
| 8 |  |  |  |  |  |  | our $VERSION = '1.01'; | 
| 9 |  |  |  |  |  |  | $VERSION = eval $VERSION; | 
| 10 |  |  |  |  |  |  |  | 
| 11 |  |  |  |  |  |  | require Exporter; | 
| 12 |  |  |  |  |  |  | our @ISA    = qw(Exporter); | 
| 13 |  |  |  |  |  |  | our @EXPORT = qw(saslprep); | 
| 14 |  |  |  |  |  |  |  | 
| 15 | 2 |  |  | 2 |  | 18056 | use Unicode::Stringprep; | 
|  | 2 |  |  |  |  | 368368 |  | 
|  | 2 |  |  |  |  | 1474 |  | 
| 16 |  |  |  |  |  |  |  | 
| 17 | 2 |  |  | 2 |  | 31 | use Unicode::Stringprep::Mapping; | 
|  | 2 |  |  |  |  | 5 |  | 
|  | 2 |  |  |  |  | 188 |  | 
| 18 | 2 |  |  | 2 |  | 13 | use Unicode::Stringprep::Prohibited; | 
|  | 2 |  |  |  |  | 4 |  | 
|  | 2 |  |  |  |  | 583 |  | 
| 19 |  |  |  |  |  |  |  | 
| 20 |  |  |  |  |  |  | my %C12_to_SPACE = (); | 
| 21 |  |  |  |  |  |  | for(my $pos=0; $pos <= $#Unicode::Stringprep::Prohibited::C12; $pos+=2) | 
| 22 |  |  |  |  |  |  | { | 
| 23 |  |  |  |  |  |  | for(my $char = $Unicode::Stringprep::Prohibited::C12[$pos]; | 
| 24 |  |  |  |  |  |  | defined $Unicode::Stringprep::Prohibited::C12[$pos] | 
| 25 |  |  |  |  |  |  | && $char <= $Unicode::Stringprep::Prohibited::C12[$pos]; | 
| 26 |  |  |  |  |  |  | $char++) { | 
| 27 |  |  |  |  |  |  | $C12_to_SPACE{$char} = ' '; | 
| 28 |  |  |  |  |  |  | } | 
| 29 |  |  |  |  |  |  | }; | 
| 30 |  |  |  |  |  |  |  | 
| 31 |  |  |  |  |  |  | *saslprep = Unicode::Stringprep->new( | 
| 32 |  |  |  |  |  |  | 3.2, | 
| 33 |  |  |  |  |  |  | [ \@Unicode::Stringprep::Mapping::B1, | 
| 34 |  |  |  |  |  |  | \%C12_to_SPACE ], | 
| 35 |  |  |  |  |  |  | 'KC', | 
| 36 |  |  |  |  |  |  | [ \@Unicode::Stringprep::Prohibited::C12, | 
| 37 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C21, | 
| 38 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C22, | 
| 39 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C3, | 
| 40 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C4, | 
| 41 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C5, | 
| 42 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C6, | 
| 43 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C7, | 
| 44 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C8, | 
| 45 |  |  |  |  |  |  | \@Unicode::Stringprep::Prohibited::C9, | 
| 46 |  |  |  |  |  |  | ], | 
| 47 |  |  |  |  |  |  | 1 | 
| 48 |  |  |  |  |  |  | ); | 
| 49 |  |  |  |  |  |  |  | 
| 50 |  |  |  |  |  |  | 1; | 
| 51 |  |  |  |  |  |  | __END__ |