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; ??