Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Moose / Autobox / String.pm
CommitLineData
3fea05b9 1package Moose::Autobox::String;
2use Moose::Role;
3
4our $VERSION = '0.10';
5
6with 'Moose::Autobox::Value';
7
8# perl built-ins
9
10sub lc { CORE::lc $_[0] }
11sub lcfirst { CORE::lcfirst $_[0] }
12sub uc { CORE::uc $_[0] }
13sub ucfirst { CORE::ucfirst $_[0] }
14sub chomp { CORE::chomp $_[0] }
15sub chop { CORE::chop $_[0] }
16sub reverse { CORE::reverse $_[0] }
17sub length { CORE::length $_[0] }
18sub lines { [ CORE::split '\n', $_[0] ] }
19sub words { [ CORE::split ' ', $_[0] ] }
20sub index {
21 return CORE::index($_[0], $_[1]) if scalar @_ == 2;
22 return CORE::index($_[0], $_[1], $_[2]);
23}
24sub rindex {
25 return CORE::rindex($_[0], $_[1]) if scalar @_ == 2;
26 return CORE::rindex($_[0], $_[1], $_[2]);
27}
28sub split {
29 return [ CORE::split($_[1], $_[0]) ] if scalar @_ == 2;
30 return [ CORE::split($_[1], $_[0], $_[2]) ];
31}
32
331;
34
35__END__
36
37=pod
38
39=head1 NAME
40
41Moose::Autobox::String - the String role
42
43=head1 SYNOPOSIS
44
45 use Moose::Autobox;
46
47 "Hello World"->uc; # HELLO WORLD
48
49=head1 DESCRIPTION
50
51This is a role to describes a String value.
52
53=head1 METHODS
54
55=over 4
56
57=item B<chomp>
58
59=item B<chop>
60
61=item B<index>
62
63=item B<lc>
64
65=item B<lcfirst>
66
67=item B<length>
68
69=item B<reverse>
70
71=item B<rindex>
72
73=item B<uc>
74
75=item B<ucfirst>
76
77=item B<split>
78
79 $string->split($pattern);
80
81=item B<words>
82
83This is equivalent to splitting on space.
84
85=item B<lines>
86
87This is equivalent to splitting on linelines.
88
89=back
90
91=over 4
92
93=item B<meta>
94
95=back
96
97=head1 BUGS
98
99All complex software has bugs lurking in it, and this module is no
100exception. If you find a bug please either email me, or add the bug
101to cpan-RT.
102
103=head1 AUTHOR
104
105Stevan Little E<lt>stevan@iinteractive.comE<gt>
106
107=head1 COPYRIGHT AND LICENSE
108
109Copyright 2006-2008 by Infinity Interactive, Inc.
110
111L<http://www.iinteractive.com>
112
113This library is free software; you can redistribute it and/or modify
114it under the same terms as Perl itself.
115
116=cut
117