in reply to file extensions

I'd do someting like this:

use List::Util; $name =~ /\.([^.]*)\z/ and List::Util::first { $1 eq $_ } qw"sdp rtsp rts mov whatever" or die "wrong extension"
and insert an lc if you want to accept upper-case extensions too.

Btw, there seems to be a space missing here in your code:

.vfw .flc.fli .wav