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 " );