NAME

String::Substitute - generate strings using different combinations of subsitute characters

VERSION

version 0.007

SYNOPSIS

use String::Substitute qw(get_all_substitutes);

my @results = get_all_substitutes(
    string => 'ABC',
    substitutions => {
        A => 'Aa',
        B => 'Bb',
    },
);

say for @results;

would print (with nondeterministic order):

ABC
aBC
AbC
abC

As a one-liner it might look like this:

perl -Ilib -MString::Substitute=get_all_substitutes -E 'say for get_all_substitutes(string => "ABC", substitutions => { A => "Aa", B => "Bb" })'

DESCRIPTION

This module is all about generating strings given an initial string and a set of allowed character substitutions.

EXPORTS

get_all_substitutes

Return, as a list, all possible strings that can be generated by applying different combinations of substitutions to the string passed as the 'string' argument. See SYNOPSIS for an example.

The order in which the different candidates are returned is not guaranteed.

Takes only keyword arguments:

string

The string you want to apply the substitutions on.

substitutions

A HASHREF mapping each substitutable character to a string of different characters that it may be replaced with.

e.g. {A => "Aa", B => "Bb"} means that each occurrence of A will be replaced with an 'A', or an 'a', in the returned substitutions.

SUPPORT

If you require assistance, support, or further development of this software, please contact OpusVL using the details below:

Telephone: +44 (0)1788 298 410

Email: community@opusvl.com

Web: http://opusvl.com

AUTHOR

Nicholas Booker <nick.booker@opusvl.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by OpusVL - www.opusvl.com.

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