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

NAME

String::Splitter - Find all possible string splits and unique substrings.

VERSION

Version 0.4

SYNOPSIS

Find all possible string splits and unique substrings.

    use String::Splitter;
    
    my $ss = String::Splitter->new();
    
    my $all_splits = $ss->all_splits("ABCD");
    
    # $all_splits == [
    #     [ 'A',   'B', 'C', 'D' ],
    #     [ 'AB',  'C', 'D' ],
    #     [ 'A',   'B', 'CD' ],
    #     [ 'ABC', 'D' ],
    #     [ 'A',  'BC', 'D' ],
    #     [ 'AB', 'CD' ],
    #     [ 'A',  'BCD' ],
    #     [ 'ABCD' ]
    # ]
    
    my $all_substrings = $ss->all_substrings("ABCA");
    
    # $all_substrings == [
    #     'A',
    #     'ABC',
    #     'BC',
    #     'ABCA',
    #     'B',
    #     'BCA',
    #     'C',
    #     'CA',
    #     'AB'
    # ];

UTF SUPPORT

Module is utf8 safe. You can

    my $results = $ss->all_splits("☺☻");

to get

    [
        [ '☺',  '☻' ],
        [ '☺☻' ]
    ]

MEMORY WARNING

Amount of possible splits is equal to

    2 ** ( length($string) -1)

so be careful with length as this grows REALLY fast!!

FUNCTIONS

new

Creates new object.

all_splits

    my $results = $ss->all_splits("ABCD");

Returns ArrayRef of ArrayRefs with all possible splits.

Carp::confess will be called if param is missing or zero length.

all_substrings

    my $results = $ss->unique_substrings("AABCDAA");

Returns ArrayRef of all possible unique substrings.

Carp::confess will be called if param is missing or zero length.

AUTHOR

Pawel (bbkr) Pabian, <cpan at bbkr.org>

Private website: http://bbkr.org

Company website: http://implix.com

BUGS

Please report any bugs or feature requests to bug-string-splitter at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=String-Splitter. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc String::Splitter

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2008 Pawel bbkr Pabian, all rights reserved.

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