Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
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.

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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://968043]
help
Chatterbox?
[LanX]: but but but ... the errors are nicely formatted!
[tye]: 1) The python stack traces show you the names of variables, not the values of variables. Almost never informative.
[LanX]: do you have a py job now?
[tye]: Right now I have errors trying to fetch stuff from graphite. It says 'apps not ready, check startup logs'. I eventually find the startup logs and see 'no apps found'. Looking for fixes to this problem...
[LanX]: no idea ... ask py monks! ;-p
[tye]: it turns out that this can be caused by almost anything going wrong. If you want to know what caused the problem, you have to try to load each app by-hand to see what problems it is having, because none of those will be logged.
[tye]: No, I write more Perl than py at work. But I have to deal with plenty of py things.
[tye]: py monks would just be offended.
[Corion]: ;)
[Corion]: Hi tye btw ;)

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (7)
As of 2017-09-21 20:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (252 votes). Check out past polls.

    Notices?