DEV Community

Discussion on: Daily Challenge #82 - English Beggars

Collapse
 
lorenzota profile image
LorenzoTa • Edited

A simple perl solution consuming the array

use strict;
use warnings;

my @values = (1..5);
my @beggars;
$#beggars = $ARGV[0]//1;
my $ind = 0;


$beggars[$ind]+= shift @values and $ind >= $#beggars ? $ind = 0 : $ind++ while @values;

Or, using Tye::Cycle from CPAN a very clean solution:

use Tie::Cycle;

my @values = (1..5);
my @beggars;
$#beggars = $ARGV[0]//1;

tie my $ind, 'Tie::Cycle', [ 0..$#beggars ];

$beggars[$ind]+= $_ for @values;