X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FAutobox%2FString.pm;h=db64fe4841780ac253b78e59cc55455af24eb03d;hb=a1f00ce9bc1114d8573e56079e46db8687a01602;hp=1a57f4a682b3b266f279e7a876fee53b3d4861e6;hpb=6cf5bcf23399cc82e234f91a2e78f262bf70eab1;p=gitmo%2FMoose-Autobox.git diff --git a/lib/Moose/Autobox/String.pm b/lib/Moose/Autobox/String.pm index 1a57f4a..db64fe4 100644 --- a/lib/Moose/Autobox/String.pm +++ b/lib/Moose/Autobox/String.pm @@ -1,7 +1,9 @@ package Moose::Autobox::String; use Moose::Role; -our $VERSION = '0.01'; +our $VERSION = '0.13'; + +with 'Moose::Autobox::Value'; # perl built-ins @@ -13,9 +15,103 @@ sub chomp { CORE::chomp $_[0] } sub chop { CORE::chop $_[0] } sub reverse { CORE::reverse $_[0] } sub length { CORE::length $_[0] } -sub index { CORE::index $_[0], $_[1], (defined $_[2] ? $_[2] : ()) } +sub lines { [ CORE::split '\n', $_[0] ] } +sub words { [ CORE::split ' ', $_[0] ] } +sub index { + return CORE::index($_[0], $_[1]) if scalar @_ == 2; + return CORE::index($_[0], $_[1], $_[2]); +} +sub rindex { + return CORE::rindex($_[0], $_[1]) if scalar @_ == 2; + return CORE::rindex($_[0], $_[1], $_[2]); +} +sub split { + return [ CORE::split($_[1], $_[0]) ] if scalar @_ == 2; + return [ CORE::split($_[1], $_[0], $_[2]) ]; +} + +1; + +__END__ + +=pod + +=head1 NAME + +Moose::Autobox::String - the String role + +=head1 SYNOPOSIS + + use Moose::Autobox; + + "Hello World"->uc; # HELLO WORLD + +=head1 DESCRIPTION + +This is a role to describes a String value. + +=head1 METHODS + +=over 4 + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + +=item B + + $string->split($pattern); + +=item B + +This is equivalent to splitting on space. + +=item B + +This is equivalent to splitting on linelines. + +=back + +=over 4 + +=item B + +=back + +=head1 BUGS + +All complex software has bugs lurking in it, and this module is no +exception. If you find a bug please either email me, or add the bug +to cpan-RT. + +=head1 AUTHOR + +Stevan Little Estevan@iinteractive.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright 2006-2008 by Infinity Interactive, Inc. + +L + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut -# FIXME: this is not working -#sub rindex { CORE::rindex $_[0], $_[1], (defined $_[2] ? $_[2] : ()) } - -1; \ No newline at end of file