Skip to content

Generate string with all combinations of a set of character substitutions applied.

Notifications You must be signed in to change notification settings

OpusVL/String-Substitute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Generate string with all combinations of a set of character substitutions applied.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages