NAME
Evo - Perl Evo design pattern
VERSION
version 0.0172
DESCRIPTION
Tiny framework for organization non-trivial code into a simple logic. It includes benefits from functional and OO styles.
Write fast, reusable and testable code.
ATTENTION
Attention. Don't use it right now. Wait for the stable release. Documentation is on it's way.
IMPORTING Calls loads Evo::Eval and calls it's import
method, emulating caller
.
use Evo 'Evo::SomeComp';
use Evo 'Evo::SomeComp(function)';
use Evo 'Evo::SomeComp(function,otherfunc)';
use Evo 'Evo::SomeComp function1 function2';
SHORTCUTS
: => . (append to current)
:: => .. (append to parent)
- => Evo (append to Evo)
Import Evo::SomeComp
namespace
use Evo '-SomeComp';
Import My::Ns::Foo::Rel
:
package My::Ns::Foo;
use Evo ':Bar';
Import My::Ns::Bar
:
package My::Ns::Foo;
use Evo '::Bar';
You can split import by ;
package My::Ns::Foo;
use Evo ':Bar bar1; :Baz baz1; Other::Foo foo1';
IMPORTS
With or without options, use Evo
loads Evo::Default:
-Default
use strict;
use warnings;
use feature ':5.20';
-Modern
Enable cool experimental features from Evo::Modern
-Loaded
This marks inline or generated classes as loaded, so can be used with require
or use
. So this code won't die
require My::Inline;
{
package My::Inline;
use Evo -Loaded;
sub foo {'foo'}
}
AUTHOR
alexbyk.com
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by alexbyk.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.