String::RewritePrefix - rewrite strings based on a set of known prefixes |
String::RewritePrefix - rewrite strings based on a set of known prefixes
version 0.007
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)
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.
Ricardo Signes <rjbs@cpan.org>
This software is copyright (c) 2013 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.
String::RewritePrefix - rewrite strings based on a set of known prefixes |