Deve funcionar. Você precisa mostrar os valores de $ pattern executando: echo "$ pattern". No entanto, você precisa distribuir os componentes if-statement.
if ( "$pattern" =~ *.gif ) then
echo "pattern matches..."
else
echo "no match"
endif
Você também pode usar a instrução "switch" em seu cenário:
switch ( "$pattern" )
case "*.gif":
echo "GIF ok"
breaksw
case "*.png":
echo "PNG ok"
breaksw
default:
echo "No match"
breaksw
endsw