The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.