Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Embargo algorithm

by Not_a_Number (Parson)
on Oct 29, 2013 at 21:15 UTC ( #1060221=note: print w/ replies, xml ) Need Help??


in reply to Embargo algorithm

This is how I'd do it (albeit without using OO Perl):

use List::Util 'shuffle'; my @bag = shuffle qw( A B C D E ); my @embargoed = pop @bag; while ( 1 ) { my $time = ( localtime )[ 0 ]; # seconds sleep 1; if ( $time >= 55 ) { push @embargoed, pop @bag; push @bag, shift @embargoed if @embargoed > 2; @bag = shuffle @bag; sleep 5; } print "$time @embargoed\n"; }

NB: For testing porpoises, I've substituted seconds for minutes and minutes for hours. Adjusting this (including sleep times) is left as an excercise...

Update: Simplified code (and explanation). Minutes don't matter!


Comment on Re: Embargo algorithm
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (6)
As of 2014-12-29 07:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (185 votes), past polls