Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Get me excited about perl

by tobyink (Abbot)
on Sep 19, 2012 at 19:15 UTC ( #994503=note: print w/ replies, xml ) Need Help??


in reply to Get me excited about perl

use 5.010; use MooseX::DeclareX types => [ -Moose ]; class Worker { has task_list => ( traits => ['Array'], is => read_only, isa => ArrayRef[Str], handles => { add_task => 'push', next_task => 'shift', has_no_tasks => 'is_empty', }, ); build task_list { return []; } method do_work (Int $amount = 1) { for (1 .. $amount) { return if $self->has_no_tasks; say "Doing: ", $self->next_task; } } } role Lazy { before do_work { say "Work?! Do I have to?!" } } class Lazy::Worker extends Worker with Lazy; my $bob = Lazy::Worker->new; $bob->add_task($_) for ( "dig up the road", "pull out the broken pipes", "lay down new pipes", "fill in hole", ); $bob->do_work; $bob->do_work(2); $bob->do_work(3);
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: Get me excited about perl
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (16)
As of 2015-07-29 15:16 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 (263 votes), past polls