Data::Perl::Role::String - Wrapping class for Perl scalar strings.
use Data::Perl qw/string/;
my $string = string("foo\n");
$string->chomp; # returns 1, $string == "foo"
This class provides a wrapper and methods for interacting with scalar strings.
- new($value)
Constructs a new Data::Perl::String object, optionally
initialized to $value if passed in, and returns
it.
- inc
Increments the value stored in this slot using the magical
string autoincrement operator. Note that Perl doesn't provide analogous
behavior in "--", so
"dec" is not available. This method
returns the new value.
This method does not accept any arguments.
- append($string)
Appends to the string, like
".=", and returns the new value.
This method requires a single argument.
- prepend($string)
Prepends to the string and returns the new value.
This method requires a single argument.
- replace($pattern, $replacement)
Performs a regexp substitution ("s" in perlop).
There is no way to provide the "g"
flag, but code references will be accepted for the replacement, causing
the regex to be modified with a single
"e".
"/smxi" can be applied using the
"qr" operator. This method returns the
new value.
This method requires two arguments.
- match($pattern)
Runs the regex against the string and returns the matching
value(s).
This method requires a single argument.
- chop
Just like "chop" in perlfunc. This method returns
the chopped character.
This method does not accept any arguments.
- chomp
Just like "chomp" in perlfunc. This method returns
the number of characters removed.
This method does not accept any arguments.
- clear
Sets the string to the empty string (not the value passed to
"default").
This method does not have a defined return value.
This method does not accept any arguments.
- length
Just like "length" in perlfunc, returns the length
of the string.
- substr
This acts just like "substr" in perlfunc. When
called as a writer, it returns the substring that was replaced, just
like the Perl builtin.
This method requires at least one argument, and accepts no
more than three.
- Data::Perl
- MooX::HandlesVia
Matthew Phillips <mattp@cpan.org>
This software is copyright (c) 2020 by Matthew Phillips <mattp@cpan.org>.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.