Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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/PayBills.pm ./lib/Framework/Op/TakeOutTrash.pm ./lib/Framework/Op/PickUpKids.pm ./lib/Framework/Op/WalkTheDog.pm ./lib/Framework/Op/CookDinner.pm ./runner.pl
cat ops.conf
Op PayBills Op TakeOutTrash Op WalkTheDog
cat runner.pl
#!/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/PayBills.pm
package Framework::Op::PayBills; use Moose; sub execute { my ($self) = @_; warn 'paying the bills'; } 1;
cat ./lib/Framework/Op/TakeOutTrash.pm
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 runner.pl paying the bills at lib/Framework/Op/PayBills.pm line 7. taking out the trash at lib/Framework/Op/TakeOutTrash.pm line 7. walking the dog at lib/Framework/Op/WalkTheDog.pm line 7.


Comment on Re: Perl Framework Help
Select or Download Code
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2014-09-01 18:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (15 votes), past polls