Tree datastructures: Difference between revisions

Added Perl example
(Example updated so not needed.)
(Added Perl example)
Line 157:
 
Round trip test satisfied? true
</pre>
 
=={{header|Perl}}==
{{trans|Perl 6}}
<lang perl>use strict;
use warnings;
use feature 'say';
 
my $trees = <<~END;
RosettaCode
encourages
code
diversity
comparison
discourages
golfing
trolling
emphasising execution speed
code-golf.io
encourages
golfing
discourages
comparison
END
 
my $level = ' ';
sub nested_to_indent { shift =~ s#^(($level*))*# ($1 ? (length $1)/2 : 0) . ' '#egmr }
sub indent_to_nested { shift =~ s#^(\d+)\s*# $level x +$1 #egmr }
 
say my $indent = nested_to_indent $trees;
my $nest = indent_to_nested $indent;
 
use Test::More;
is($trees, $nest, 'Round-trip is good.');
done_testing();</lang>
{{out}}
<pre>0 RosettaCode
1 encourages
2 code
3 diversity
3 comparison
1 discourages
2 golfing
2 trolling
2 emphasising execution speed
0 code-golf.io
1 encourages
2 golfing
1 discourages
2 comparison
 
ok 1 - Round-trip is good.
1..1
</pre>
 
2,392

edits