From 4997e146da939fca9cd7966505e4a047c14e0db8 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 14 Apr 2020 04:48:04 -0600 Subject: ch-2.pl --- challenge-056/mark-anderson/perl/ch-2.pl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 challenge-056/mark-anderson/perl/ch-2.pl diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl new file mode 100644 index 0000000000..ac414bb808 --- /dev/null +++ b/challenge-056/mark-anderson/perl/ch-2.pl @@ -0,0 +1,23 @@ +#!/usr/bin/env perl +use Modern::Perl; +use List::Util 'sum'; +use Tree::DAG_Node; + +my $lol = [ [ [ [7], [2], 11 ], 4 ], [ [13], [ [1], 9 ], 8 ], 5 ]; + +my $tree = Tree::DAG_Node->lol_to_tree($lol); + +$tree->walk_down ({callback => \&traverse}); + +say for $tree->draw_ascii_tree->@*; + +sub traverse { + my($node, $options) = @_; + + unless ($node->daughters) { + my @nodes = reverse ($node->name, (map { $_->name } $node->ancestors)); + say join(" + ", @nodes), " == 22" if (sum @nodes) == 22; + } + + return 1; +} -- cgit From edb6c293598e7d2afbf34d2ee215bc2a9aee9593 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 14 Apr 2020 04:53:20 -0600 Subject: ch-2.pl --- challenge-056/mark-anderson/perl/ch-2.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl index ac414bb808..29df817687 100644 --- a/challenge-056/mark-anderson/perl/ch-2.pl +++ b/challenge-056/mark-anderson/perl/ch-2.pl @@ -12,7 +12,7 @@ $tree->walk_down ({callback => \&traverse}); say for $tree->draw_ascii_tree->@*; sub traverse { - my($node, $options) = @_; + my $node = shift; unless ($node->daughters) { my @nodes = reverse ($node->name, (map { $_->name } $node->ancestors)); -- cgit From 6c219b95222dc4ee35b5b2e70fbc54f63408f21c Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 14 Apr 2020 05:00:18 -0600 Subject: ch-2.pl --- challenge-056/mark-anderson/perl/ch-2.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl index 29df817687..274bfcbb7d 100644 --- a/challenge-056/mark-anderson/perl/ch-2.pl +++ b/challenge-056/mark-anderson/perl/ch-2.pl @@ -2,6 +2,8 @@ use Modern::Perl; use List::Util 'sum'; use Tree::DAG_Node; +use feature qw(signatures); +no warnings qw(experimental::signatures); my $lol = [ [ [ [7], [2], 11 ], 4 ], [ [13], [ [1], 9 ], 8 ], 5 ]; @@ -11,9 +13,7 @@ $tree->walk_down ({callback => \&traverse}); say for $tree->draw_ascii_tree->@*; -sub traverse { - my $node = shift; - +sub traverse($node, $options) { unless ($node->daughters) { my @nodes = reverse ($node->name, (map { $_->name } $node->ancestors)); say join(" + ", @nodes), " == 22" if (sum @nodes) == 22; -- cgit From 0576acbfb37e8b843028841119fe035bd861f6f8 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 14 Apr 2020 05:04:06 -0600 Subject: ch-2.pl --- challenge-056/mark-anderson/perl/ch-2.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl index 274bfcbb7d..0221674e1f 100644 --- a/challenge-056/mark-anderson/perl/ch-2.pl +++ b/challenge-056/mark-anderson/perl/ch-2.pl @@ -1,9 +1,9 @@ #!/usr/bin/env perl use Modern::Perl; -use List::Util 'sum'; +use List::Util qw/sum/; use Tree::DAG_Node; -use feature qw(signatures); -no warnings qw(experimental::signatures); +use feature qw/signatures/; +no warnings qw/experimental::signatures/; my $lol = [ [ [ [7], [2], 11 ], 4 ], [ [13], [ [1], 9 ], 8 ], 5 ]; -- cgit From 8d8efca3cf48774e45ec7164b74858cdfe3aab9a Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Tue, 14 Apr 2020 05:13:33 -0600 Subject: ch-2.pl --- challenge-056/mark-anderson/perl/ch-2.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-056/mark-anderson/perl/ch-2.pl b/challenge-056/mark-anderson/perl/ch-2.pl index 0221674e1f..4045c7dae7 100644 --- a/challenge-056/mark-anderson/perl/ch-2.pl +++ b/challenge-056/mark-anderson/perl/ch-2.pl @@ -9,7 +9,7 @@ my $lol = [ [ [ [7], [2], 11 ], 4 ], [ [13], [ [1], 9 ], 8 ], 5 ]; my $tree = Tree::DAG_Node->lol_to_tree($lol); -$tree->walk_down ({callback => \&traverse}); +$tree->walk_down({callback => \&traverse}); say for $tree->draw_ascii_tree->@*; -- cgit