}
sub tile {
- my $index = scalar @_;
+ my @tiles;
+ my $index_i = 1;
+ foreach my $d (@_) {
+ foreach my $dd (ref $d ? @$d : $d) {
+ push @tiles, [ $dd, $index_i ];
+ }
+ $index_i++;
+ }
+
my $pos = 0;
my $o = '';
my $showpage = sub {
$page_pre
END
};
- while (my $d = pop @_) {
+
+ while (my $di = pop @tiles) {
+ my ($d, $index) = @$di;
+
if ($pos >= 5) {
$pos -= 5;
$showpage->();
grestore
END
$pos++;
- $index--;
}
$showpage->();
$o;
blue_book(),
lotus_book(),
yellow_book(),
- black_book_pair(),
- black_book_more(),
+ [black_book_pair(), black_book_more()],
) or die $! if 1;