qu'est-ce qui se passe quand tu appelles ton script perl ? ça affiche quelque chose ? rien ? etc...

je ne vois pas d'échappement des caractères spéciaux dans ton script (en l'occurrence le $),...