package Data::Perl::String::MooseLike;
$Data::Perl::String::MooseLike::VERSION = '0.001009';
# ABSTRACT: data::Perl::String subclass that simulates Moose's native traits.

use strictures 1;

use Role::Tiny::With;
use Class::Method::Modifiers;

with 'Data::Perl::Role::String';

my @methods = grep { $_ ne 'new' } Role::Tiny->methods_provided_by('Data::Perl::Role::String');

around @methods => sub {
    my $orig = shift;

    $orig->(\$_[0], @_[1..$#_]);



=encoding UTF-8

=head1 NAME

Data::Perl::String::MooseLike - data::Perl::String subclass that simulates Moose's native traits.

=head1 VERSION

version 0.001009


  use Data::Perl::Collection::String::MooseLike;

  my $string = Data::Perl::Collection::String::MooseLike->new("this is a string\n");


  $string->substr(); # etc


This class provides a wrapper and methods for interacting with a string. All
methods are written to emulate/match existing behavior that exists with Moose's
native traits. You should probably be looking at Data::Perl's documentation instead.

=head1 SEE ALSO

=over 4

=item * L<Data::Perl>

=item * L<Data::Perl::Role::Collection::String>


=head1 AUTHOR

Toby Inkster <>


This software is copyright (c) 2020 by Matthew Phillips <>.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.