Thank you Karl for confirming the issue. I posted again because I did
not know if you had read the earlier post.
I just wonder then, why if ($p eq "texlive.infra") {
push @{$pkgs{$p}}, "all";
} else {
push @{$pkgs{$n}}, $a;
??