my $seek = '@#]$%(*&Y^%'; my $test = 'This is a test to look for @#]$%(*&Y^% in text data'; print "found it\n" if ( $test =~ /\Q$seek\E/ ); #### s/(STARTDATE &) (STARTTIME)/$1 " " & $2/; #### # don't try to match the paren explicitly -- use "." instead: s/(utime.STARTDATE &) (STARTTIME)/$1 " " & $2/; # or match it explicity, with an escape: s/(utime\(STARTDATE &) (STARTTIME)/$1 " " & $2/;