+if (exists $get{q}) {
+ my @rows;
+ if ($Request) {
+ my @query = $Request;
+ while (@query) {
+ push @rows, grep { $_->[1] <= $limit } @query;
+ $_ = $_->[0] for @query;
+ @query = map {$_ ? @{$_} : ()} @{$table}{@query};
+ }
+ }
+ else {
+ @rows = map {ref ? @$_ : $_} values %{$table}; # flatten categories
+ }
+ @rows = sort { rand <=> .5 } @rows;
+ $table = {};
+ printimgs(@rows);
+}
+elsif ($Request and $Request =~ /^\d+$/) {
+ printimgs([$Request]);
+}
+else {
+ printimgs($table->{''}->[0]);
+}