File Coverage

blib/lib/Lingua/Atinlay/Igpay.pm
Criterion Covered Total %
statement 6 23 26.0
branch 0 10 0.0
condition 0 9 0.0
subroutine 2 3 66.6
pod 0 1 0.0
total 8 46 17.3


line stmt bran cond sub pod time code
1             package Lingua::Atinlay::Igpay;
2              
3 1     1   542 use strict;
  1         1  
  1         34  
4              
5             require Exporter;
6              
7 1     1   5 use vars qw[@ISA %EXPORT_TAGS @EXPORT_OK $VERSION];
  1         1  
  1         633  
8             @ISA = qw(Exporter);
9              
10             %EXPORT_TAGS = ( 'all' => [ qw[ enhay2igpayatinlay ] ] );
11              
12             @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
13              
14             $VERSION = '0.03';
15              
16             sub enhay2igpayatinlay {
17 0     0 0   my @list = @_;
18 0           my @new_list = ();
19 0           while ( defined( $_ = shift @list ) ) {
20 0           my @tokens = split /\b/, $_;
21 0           foreach ( 0 .. $#tokens ) {
22 0           my $tok = $tokens[$_];
23 0 0         my $alluc = ( $tok eq uc $tok ? 1 : 0 );
24 0 0 0       my $firstuc = ( $tok =~ /^[A-Z]/ && ! $alluc ? 1 : 0 );
25 0 0 0       if ( $tok =~ s/^([aeiou].*)/${1}hay/gsi
      0        
26             || $tok =~ s/^([b-d,f-h,j-n,p-t,v-z]{2,})(.+)/${2}${1}ay/gsi
27             || $tok =~ s/^([b-d,f-h,j-n,p-t,v-z])(.+)/${2}${1}ay/gsi ) {
28 0 0         $tok = uc $tok if $alluc;
29 0 0         if ( $firstuc ) {
30 0           $tok = ucfirst $tok;
31 0           $tok =~ s/((?:.h|.)ay)$/lc $1/e;
  0            
32             }
33             }
34 0           $tokens[$_] = $tok;
35             }
36 0           push @new_list, join '', @tokens;
37             }
38 0           return @new_list;
39             }
40              
41             1;
42             __END__