The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Evo::Lib

VERSION

version 0.0229

code2names

  {

    package My::Foo;
    sub foo { }
  }

  my $code = \&My::Foo::foo;
  ($pkg, $name) = code2names($code);

Return a package and a name of a code where the subroutine was declared

strict_opts($level, $hash, @keys)

  sub myfunc(%opts) { my ($foo, $bar) = strict_opts(1, \%opts, 'foo', 'bar'); }

Get a $hash and return values in order defined by @keys. If there are superfluous keys in hash, throw an error. This will help you to protect your functions from bugs "passing wrong keys"

$level determines how many frames to skip. In most cases it's 1

AUTHOR

alexbyk.com

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 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.