Isso se deve à mecânica do ps e do topo.
Top simplesmente agrega o uso pelo PID, e a chamada do Sistema no Perl essencialmente usa o fork nativo do SO, que cria um processo filho. Processos filho têm o mesmo PID que o pai. ps enumera todos os processos em execução. Por exemplo, observe que a mesma coisa vale para o Apache. Se você fizer o Top e encontrar o Apache, você verá apenas uma entrada, mas se você fizer um ps aux e encontrar o Apache lá, existem várias entradas com o mesmo PID.Realmente, o top destina-se a encontrar o uso total de recursos de um programa, portanto você não quer ver o valor que cada filho está usando, e o ps é descobrir quais programas estão sendo executados, em detalhes, para que você deseje ver todos os processos filhos.