blob: 6cdb10322f425fb9609f4797f78ddf128ead2337 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#! /usr/bin/env perl
use strict;
use warnings;
use feature 'say';
use Getopt::Long;
use List::Util qw(sum);
my $verbose = 0;
GetOptions("verbose" => \$verbose);
my $tree = shift(@$ARGV) // '1 | 2 3 | 4 * 5 6 | * 7';
my $sum = sum(grep(/\d/, split(/\s+/, $tree)));
say ": Sum: $sum" if $verbose;
my @elems;
for my $elem (split(/\s+/, $tree))
{
$elem =~ /\d/
? push(@elems, $sum - $elem)
: push(@elems, $elem);
}
say join(" ", @elems);
|