deja met un petit "use strict;" en haut de ton code!
 
ensuite je ne connais pas tethereal, mais il me semble que si tu ajoutait une petite pause apres le lancement de vlc ca pourrati aider:
 
 system (1,"vlc -vvv udp://$a" );  
 sleep 1;
 system ("tethereal -w m.pcap -S -c 50 -T text " );  
 
 
et si tu veux faire une pause inferieure à 1 sec, par exemple 0.5s, fais comme ca:
 
 system (1,"vlc -vvv udp://$a" );  
 select(undef,undef,undef,0.5);
 system ("tethereal -w m.pcap -S -c 50 -T text " );