When using Perl variable names with sigils with listings, the $ and @ sigils somehow get coloured in identifierstyle, but the % sigil remains unstyled.
Therefore, this code:
\documentclass{article}
\usepackage{listings,xcolor}
\lstdefinestyle{perl}{
language=Perl,
basicstyle=\ttfamily,
keywordstyle=\bfseries\color{green!40!black},
commentstyle=\color{purple!40!black},
identifierstyle=\color{blue},
stringstyle=\color{orange},
}
\lstset{style=perl}
\begin{document}
\begin{lstlisting}
my ($a, $b, $c) = ('a'..'z');
my ($a, $b, @c) = ('a'..'z');
my ($a, $b, %c) = ('a'..'z');
\end{lstlisting}
\end{document}
gives this result:

Is there a way I could make listings understand that % should have the same style as $ or @?
The manual is pretty clear about keywords and comments, but it didn't help me understand the difference between an identifier and an operator (?) that doesn't get styled. Looking at the Perl language definition in lstlang1.sty didn't help either since there is nothing there about either $ and @ or %.

\documentclass{...}and ending with\end{document}. That may seem tedious to you, but think of the extra work it represents for TeX.SX users willing to help you. Help them help you: remove that one hurdle between you and a solution to your problem. – jub0bs Nov 06 '13 at 14:00