String::RewritePrefix.3pm

Langue: en

Version: 2009-11-30 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

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

VERSION

version 0.005

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> This software is copyright (c) 2008 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as perl itself.