Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Perl Framework Help

by Arunbear (Parson)
on Apr 30, 2012 at 11:32 UTC ( #968043=note: print w/ replies, xml ) Need Help??

in reply to Perl Framework Help

An outline of one way to do it ;)

+% find ! -name "*~" . ./ops.conf ./lib ./lib/Framework ./lib/Framework/Op ./lib/Framework/Op/ ./lib/Framework/Op/ ./lib/Framework/Op/ ./lib/Framework/Op/ ./lib/Framework/Op/ ./
cat ops.conf
Op PayBills Op TakeOutTrash Op WalkTheDog
#!/usr/bin/env perl use strict; use warnings; use Config::General qw(ParseConfig); my %config = ParseConfig("ops.conf"); foreach my $op_class (@{ $config{Op} }) { my $class = "Framework::Op::$op_class"; eval "require $class" or die $@; my $op = $class->new; $op->execute; }
cat ./lib/Framework/Op/
package Framework::Op::PayBills; use Moose; sub execute { my ($self) = @_; warn 'paying the bills'; } 1;
cat ./lib/Framework/Op/
package Framework::Op::TakeOutTrash; use Moose; sub execute { my ($self) = @_; warn 'taking out the trash'; } 1;
The other modules are similar. Then:
+% perl -I lib paying the bills at lib/Framework/Op/ line 7. taking out the trash at lib/Framework/Op/ line 7. walking the dog at lib/Framework/Op/ line 7.

Comment on Re: Perl Framework Help
Select or Download Code
Replies are listed 'Best First'.
Re^2: Perl Framework Help
by anshumangoyal (Scribe) on Apr 30, 2012 at 15:13 UTC
    Love you Buddy. Excellent work. This is what I was looking for. It worked like a charm. A great thanks.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (11)
As of 2015-10-06 20:20 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (160 votes), past polls