Polecam używać use strict i use warnings, problem sam by się wyjaśnił. Jak w bardzo wielu językach programowania znak \ służy do wpisywania znaków takich jak nowa linia czy tabulacja:http://en.wikipedia.org/wiki/Escape_character (a w Perlu również do innych rzeczy)
Możesz więc:
zmienić typ napisu na taki, który nie interpretuje specjalnie sekwencji takich jak \n czy \t
Rozwiń myśl, pokaż kod i przypadek, o który Ci chodzi. Zastępowanie \ znakami wykrzyknika to bardzo głupi pomysł, bo ! może być poprawnym znakiem nazwy pliku.