[t/spec] Don't use .[^20] on tests which should have finite results.
[pugs.git] / examples / box.pl
blob12b099d3341c5219b969684f83dfa2bfe0f1bb98
1 # Print out text in a little box like so:
2 # +------+
3 # | Pugs |
4 # +------+
6 use v6;
8 sub longest_line(@lines) {
9 @lines.max({ $^a.codes <=> $^b.codes }).codes;
12 sub lfill(Str $s, Num $n) {
13 return $s if $s.codes >= $n;
14 return $s ~ ' ' x ($n - $s.codes);
17 sub box(@lines, $width=0) {
18 my $w = max($width, longest_line(@lines));
19 say "+-{ '-' x $w }-+";
20 for @lines {
21 say "| " ~ lfill($^line, $w) ~ " |";
23 say "+-{ '-' x $w }-+";
26 box(["Perl 6",
27 "Pugs",
28 "Lambda Camels",
29 "λ"]);
31 box(["Perl 6",
32 "Pugs",
33 "Lambda Camels",
34 "λ"], 40);
36 box(["Perl 6",
37 "Pugs",
38 "Lambda Camels",
39 "λ"], 4);