Konstantin Uvarin
- Website: github.com/dallaylaen
- About: A humble Perl developer
Recent Actions
-
Posted Resource::Silo - declarative lazy resource container library to Konstantin Uvarin
Resource::Silo is a declarative lazy resource container library for Perl. It allows to declare resources such as configuration files, database connections, external service endpoints, and so on, in one place; acquire them on demand; cache…
- Posted Module::Lazy - postpone module loading until actually used to Konstantin Uvarin
-
Posted namespace::local above, below, and around to Konstantin Uvarin
My namespace::local module has got some new switches in v.0.04:
-above
(0.04) emulates namespace::clean:="prettypr…
-
Commented on namespace::local: hiding utility functions in moo[se] roles
Sure, but that's not so funny! Also it means private functions must be above the public ones, although who cares about the order anyway......
-
Posted namespace::local: hiding utility functions in moo[se] roles to Konstantin Uvarin
Ever since I came up with namespace::local, clearly inspired by namespace::clean, I was wondering who would need it in real life.
Now I seem to have found an actual application: …
-
Commented on Assert::Refute - a unified testing and assertion tool
Just for information. Starting from v.0.13, Assert::Refute honors NDEBUG environment variable. If it is set to true, try_refute{...} blocks are optimized out. Thanks for your request....
-
Posted namespace::local - confine imports to current scope to Konstantin Uvarin
namespace::clean (along with its cousins namespace::autoclean and namespace::sweep) allows to "forget" imported functions, only making them available for the current package. This is neat.
After looking at the inside of namespace::cle…
-
Commented on Assert::Refute - a unified testing and assertion tool
I think Keyword::DEVELOPMENT can do the trick. Also you could use a compile-time constant: use constant { DEBUG => $ENV{DEBUG} }; # ... much later try_refute { # some statements here } if DEBUG; Perl will optimize the if statement...
-
Posted Assert::Refute - a unified testing and assertion tool to Konstantin Uvarin
Unit tests are great. They show that the code was actually designed
Runtime assertions are great. They show that th…
-
Commented on Test::Snapshot - automate externalising "expected" data
Nice! How do I distribute a module with snapshots? Just commit them? (Sounds like a plan...)....
-
Commented on Trials and troubles with changing @INC
Wow! So cool, never would have thought of it....
-
Commented on Trials and troubles with changing @INC
Maybe there should be a module to help testing w/o "." on older perls? Something along the lines of noinc.pm ----------- package noinc; @INC = grep { $_ ne '.' } @INC; 1; And then PERL5OPT=-Mnoinc make test...
-
Commented on MVC::Neaf - Not Even A (Web Application) Framework
Thanks, good point! Going along with the rest of Plack:: and getting all the good stuff for free is a good idea. Somehow I overlooked it. I think I'll move in that direction somewhere after v.0.20 and only leave the...
-
Posted MVC::Neaf - Not Even A (Web Application) Framework to Konstantin Uvarin
Hello everyone, today I'd like to present that tries hard to stay out of the way. Initially it was started for my own education. However, the result may be worth looking at even for users of serious stuff like ="http…
-
Commented on Dependency phases in CPAN distribution metadata
Nice post, thank you! I didn't get where the development dependencies come from. Are they autogenerated? Do they come from a specific file? Is there a way to specify them if I'm using MakeMaker?...
Comment Threads
-
Neil Bowers commented on
Dependency phases in CPAN distribution metadata
Hi Konstantin,
I'll cover this sort of thing in the next article, but to add develop dependencies via Makefile.PL/ExtUtils::MakeMaker you use META_MERGE. For example:
META_MERGE => { "meta-spec" => { version => 2 }, prereqs => { develop => { requires => { 'Template' => 0, } } }, },
-
Pawel bbkr Pabian commented on
Dependency phases in CPAN distribution metadata
Excellent article!
Can you briefly describe how do you package Perl 5 ecosystem for _production_ environment? In my case it goes like this:
1. Build Perl itself. Holy cow, 55MB! Worst bundle ever for slim Docker containers, because it throws everything into one bucket. Develop dependencies (like Pod::Perldoc, Devel::, Benchmark, TAP::Parser::* or CPAN::*), build dependencies (ExtUtils::*, Module::*), runtime dependencies (Unicode stuff and pragmas) and of course tons of stuff no one really uses nowadays (NBDM, ODBM, SBDM interfaces, ptar, zipdetails binaries).
I truly…
-
Grinnz commented on
Trials and troubles with changing @INC
You can use lib.pm for that:
no lib '.';
or PERL5OPT=-M-lib=.
-
Buddy Burden commented on
Trials and troubles with changing @INC
Hey, Ryan. How's it going?
Just tried to look at my failures, but I hit two problems:
* The author page says I have two failing modules, but the module page only lists one with my name on it.
* The link to the failure log gives me a 404.Thx for all your hard work!
About blogs.perl.org
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.