aboutsummaryrefslogtreecommitdiff
path: root/challenge-042
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-042')
-rw-r--r--challenge-042/markus-holzer/perl6/ch-1.p61
-rw-r--r--challenge-042/markus-holzer/perl6/ch-2.p625
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-042/markus-holzer/perl6/ch-1.p6 b/challenge-042/markus-holzer/perl6/ch-1.p6
new file mode 100644
index 0000000000..a5faa3c2b2
--- /dev/null
+++ b/challenge-042/markus-holzer/perl6/ch-1.p6
@@ -0,0 +1 @@
+.say for (^51).map( *.base(8) ) \ No newline at end of file
diff --git a/challenge-042/markus-holzer/perl6/ch-2.p6 b/challenge-042/markus-holzer/perl6/ch-2.p6
new file mode 100644
index 0000000000..7fea6b3df8
--- /dev/null
+++ b/challenge-042/markus-holzer/perl6/ch-2.p6
@@ -0,0 +1,25 @@
+sub generate-string
+{
+ my @braces = "(", ")";
+ my $length = ( 2 ..^ 6 ).pick;
+ my @string = ( 0 .. $length ).map({ @braces.pick });
+ @string.join( "" );
+}
+
+sub test-string( $string )
+{
+ my token opening-brace { \( };
+ my token closing-brace { \) };
+ my token balanced-braces {
+ ( <opening-brace>+ ) <closing-brace> ** { $0.chars }
+ };
+
+ so $string ~~ /^ <balanced-braces> $/;
+}
+
+for ( ^50 )
+{
+ my $string = generate-string;
+ my $result = test-string( $string );
+ say "$string is { $result ?? 'balanced' !! 'unbalanced' }";
+}