chiark / gitweb /
break out @tiles processing nfc
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 6 Nov 2021 19:37:51 +0000 (19:37 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 6 Nov 2021 19:38:00 +0000 (19:38 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
pumpkin-books.ps.pl

index cbc32ddb317b22fa7f2891906de098cb0199825d..d911cf24c4feaaee9c0e1a8f8b91c7979946550c 100755 (executable)
@@ -771,15 +771,25 @@ def_image(3, "droplet");
 
 print "gsave\n" or die $!;
 
-our @books = (
-             red_book(),
-             green_book(),
-             purple_book(),
-             blue_book(),
-             lotus_book(),
-             yellow_book(),
-             [black_book_pair(), black_book_more()],
-            );
-
-print tile(@books) or die $! if 1;
+our @books = qw(
+                red_book
+                green_book
+                purple_book
+                blue_book
+                lotus_book
+                yellow_book
+                black_book_pair/black_book_more
+             );
+
+our @tiles;
+
+foreach my $spec (@books) {
+  my @datas;
+  foreach my $book (split m{/}, $spec) {
+    push @datas, ${*::}{"$book"}();
+  }
+  push @tiles, @datas == 1 ? @datas : \@datas;
+}
+
+print tile(@tiles) or die $! if 1;