Your code is fine. Both \Q and \ will escape @.
$ perl -le'print q{@@} =~ m|\A\Q@@\E\z| ? "match" : "no match"' match $ perl -le'print q{@@} =~ m|\A\@\@\z| ? "match" : "no match"' match
Are you sure your input is what you think it is?
Update: Turns out that \Q only helps insofar as @@ doesn't get interpolated to begin with.
In reply to Re: regular expression with @@/
by ikegami
in thread regular expression with @@/
by jim_neophyte
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |