String::RewritePrefix(3pm)

NAME
String::RewritePrefix - rewrite strings based on a set of known prefixes

VERSION
version 0.008

SYNOPSIS
  use String::RewritePrefix;
  my @to_load = String::RewritePrefix->rewrite(
    { '' => 'MyApp::', '+' => '' },
    qw(Plugin Mixin Addon +Corporate::Thinger),
  );

  # now you have:
  qw(MyApp::Plugin MyApp::Mixin MyApp::Addon Corporate::Thinger)

You can also import a rewrite routine:

  use String::RewritePrefix rewrite => {
    -as => 'rewrite_dt_prefix',
    prefixes => { '' => 'MyApp::', '+' => '' },
  };

  my @to_load = rewrite_dt_prefix( qw(Plugin Mixin Addon +Corporate::Thinger));

  # now you have:
  qw(MyApp::Plugin MyApp::Mixin MyApp::Addon Corporate::Thinger)

METHODS

  rewrite
  String::RewritePrefix->rewrite(\%prefix, @strings);

This rewrites all the given strings using the rules in %prefix. Its keys are known prefixes for which its values will be substituted. This is performed in longest-first order, and only one prefix will be rewritten.

If the prefix value is a coderef, it will be executed with the remaining string as its only argument. The return value will be used as the prefix.

AUTHOR
Ricardo Signes <rjbs@cpan.org>

CONTRIBUTORS

•   Florian Ragwitz <rafl@debian.org>

•   Olivier Mengué <dolmen@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by Ricardo Signes.

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