Sei sicuro della logica del programma?

Se capisco bene, in @lista ci metti i comandi permessi. Perche` allora fai il chomp della lista? E perche` lo fai ad ogni ciclo? Non basterebbe farlo una volta fuori dal loop?

Comunque inserisci una serie di print, in modo da vedere subito il risultato; magari inviali a stderr, anziche stdout, altrimenti il risultato viene bufferizzato e potrebbe andare perso qualcosa in caso di errore.