Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Creative way to include custom modules without eval?

by tobyink (Abbot)
on Oct 26, 2012 at 14:36 UTC ( #1001092=note: print w/ replies, xml ) Need Help??


in reply to Creative way to include custom modules without eval?

I'm pretty sure that FindBin::libs could help you out here.

Either way, the evals seem a bit pointless. do would do the trick...

use strict; use warnings; use File::Spec; use Cwd 2.17 qw(realpath); use lib do { my @dirs = File::Spec->splitdir( (File::Spec->splitpath(realpath($0)))[1] ); pop @dirs while (scalar(@dirs) and $dirs[-1] !~ /\d+\.\d+/); File::Spec->join(@dirs, 'lib', 'perl'); }; use Module1; use Module2;
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: Creative way to include custom modules without eval?
Select or Download Code
Re^2: Creative way to include custom modules without eval?
by IronCladLou (Initiate) on Oct 26, 2012 at 14:50 UTC

    Ah! Many thanks, tobyink.

    That is a much nicer block of code. Using 'do' never even occurred to me!

    +10 Karma points for you.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1001092]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2015-07-07 02:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (86 votes), past polls