The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

String::Mutate - extensible chaining of string modifiers

SYNOPSIS

  use String::Mutate;
  
  # Create base object with a string slot and some useful
  # string modifiers.
  my $proto = String::Mutate->proto;

  $proto->string # "Hello, World"

  # Hello, World. It's me Bob
  $proto->m_append(". It's me Bob");

  # Biff!Hello, World. It's me Bob
  $proto->m_prepend("Biff!");

  # Biff!--Hello, World. It's me Bob
  $proto->m_insert("--", 4);

  # Insert yuy at some_random_place into the string
  $proto->m_rand_insert("yuy");

  # Insert $number junk chars at some_random_place into the string
  $proto->string('reset to clean string');
  my $number=4;
  $proto->m_chunk_of_junk($number); # res()`*et to clean string

DESCRIPTION

There comes a time in every data munger's career when he needs to muck up the data. This module is designed to make it easy to code up your own special wecial, tasty-wasty string mucker-uppers. It comes with the mucker-uppers you saw in the SYNOPSIS. But you are dealing with a Class::Prototyped object, so you can extend the beskimmers out of it if you so please.

And now.... method chaining!

USAGE

Well, the SYNOPSIS told all. But let's say what we just said again.

First you construct your prototype object:

 my $proto = String::Mutate->proto;

Then you call any of the m_* methods which will then mutate $proto->string and leave the results in same. So without further adieu, here are the pre-packaged string mutators

BUILT-IN STRING MUTATION METHODS

m_append

 Usage     : $proto->m_append('some text to append');
 Purpose   : Append text to $proto->string
 Argument  : the text to append.

m_prepend

 Usage     : $proto->m_prepend('some text to PREpend');
 Purpose   : Prepend text to $proto->string
 Argument  : the text to Prepend.

m_insert

 Usage     : $proto->m_insert('insertiontext', $after_what_char);
 Purpose   : put insertion text into string after a certain char
 Returns   : nothing. this is OOP you know.
 Argument  : 
  1 - the text to insert
  2 - the 1-offset position to insert at

m_rand_insert

 Usage     : $proto->m_rand_insert('text');
 Purpose   : put insertion text into string at some random place
 Returns   : nothing. this is OOP you know.
 Argument  : 
  1-  the text to insert at some random place in the string. When is someone
      going to write something to automatically generate this assinine
      butt-obvious documentation from my fresh, crispy clean with no 
      caffeine source code?! sounds like a good master's project for some
      AI weenie.

m_chunk_of_junk

 Usage     : $proto->m_chunk_of_junk($chunk_size)
 Purpose   : put a string of junk chars of length $chunk_size into 
             string at some random place
 Returns   : nothing. this is OOP you know.
 Argument  : How long you want the chunk of junk to be. Actually it isnt
             how long you *want* it to be. It is how long it will be whether
             you want it that way or not. Computers are like that. Stubborn
             lil suckers. Fast, useful, but not so obliging.

BUGS

There are rougly 3,562,803 bugs in this code.

AUTHOR

    Terrence M. Brannon
    CPAN ID: TBONE
    metaperl.org computation
    tbone@cpan.org
    http://www.metaperl.org

COPYRIGHT

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

The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO