dieren: rotate table on ?r parameter
authorMischa POSLAWSKY <perl@shiar.org>
Sat, 23 Nov 2019 15:28:03 +0000 (16:28 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 6 May 2020 01:18:07 +0000 (03:18 +0200)
dieren.plp

index 2017eac41c6b05fc8b43ebd2611b67b46e88f1c8..452a780daebe47fa01d65f163c9129fb67224cd9 100644 (file)
@@ -62,6 +62,19 @@ my @table = qw(
        #>draak:   draak      zeedraak     waterdraak?  aarddraak?   ?
 );
 
+if (exists $get{r}) {
+       use List::MoreUtils qw( part );
+       my @trans = (part { state $col; /^#?>/ ? ($col = 0) : ++$col } @table);
+       @table = ();
+       for (@trans) {
+               unshift @$_, '?:' if $_->[0] !~ /:$/;
+               $_->[0] =~ s/^#?\K>?/>>/;
+               for (@$_) {
+                       push @table, s/^#?\K>/$1/r;
+               }
+       }
+}
+
 say '<table>';
 while (my $name = shift @table) {
        if ($name =~ s/^#// and not exists $get{v}) {