Task1
We pick a random word from the file:
#!/usr/bin/env perl
use strict;
use warnings;
use File::Slurp;
sub self_spammer{
my @words = grep /\S/,split /\s/, read_file(__FILE__);
$words[rand @words]
}
print self_spammer();
Task2
We reduce the array with min and max functions as stated in the problem description:
#!/usr/bin/env perl
use strict;
use warnings;
use List::Util qw(min max);
sub order_game{
my ($arr) = @_;
while(@$arr > 2){
my @t;
foreach my($a,$b,$c,$d)(@$arr){
push @t,min($a,$b),max($c,$d)
}
@$arr = @t;
}
min @$arr
}
printf "%d\n",order_game([2,1,4,5,6,3,0,2]);
printf "%d\n",order_game([0,5,3,2]);
printf "%d\n",order_game([9,2,1,4,5,6,0,7,3,1,3,5,7,9,0,8]);