cperl-praise is a variable defined in `cperl-mode.el'.
Its value is

Advantages of CPerl mode.

0) It uses the newest `syntax-table' property ;-);

1) It does 99% of Perl syntax correct (as opposed to 80-90% in Perl
mode - but the latter number may have improved too in last years) even
with old Emaxen which do not support `syntax-table' property.

When using `syntax-table' property for syntax assist hints, it should
handle 99.995% of lines correct - or somesuch. It automatically
updates syntax assist hints when you edit your script.

2) It is generally believed to be "the most user-friendly Emacs
package" whatever it may mean (I doubt that the people who say similar
things tried _all_ the rest of Emacs ;-), but this was not a lonely

3) Everything is customizable, one-by-one or in a big sweep;

4) It has many easily-accessible "tools":
a) Can run program, check syntax, start debugger;
b) Can lineup vertically "middles" of rows, like `=' in
a = b;
cc = d;
c) Can insert spaces where this improves readability (in one
interactive sweep over the buffer);
d) Has support for imenu, including:
1) Separate unordered list of "interesting places";
2) Separate TOC of POD sections;
3) Separate list of packages;
4) Hierarchical view of methods in (sub)packages;
5) and functions (by the full name - with package);
e) Has an interface to INFO docs for Perl; The interface is
very flexible, including shrink-wrapping of
documentation buffer/frame;
f) Has a builtin list of one-line explanations for perl constructs.
g) Can show these explanations if you stay long enough at the
corresponding place (or on demand);
h) Has an enhanced fontification (using 3 or 4 additional faces
comparing to font-lock - basically, different
namespaces in Perl have different colors);
i) Can construct TAGS basing on its knowledge of Perl syntax,
the standard menu has 6 different way to generate
TAGS (if "by directory", .xs files - with C-language
bindings - are included in the scan);
j) Can build a hierarchical view of classes (via imenu) basing
on generated TAGS file;
k) Has electric parentheses, electric newlines, uses Abbrev
for electric logical constructs
while () {}
with different styles of expansion (context sensitive
to be not so bothering). Electric parentheses behave
"as they should" in a presence of a visible region.
l) Changes msb.el "on the fly" to insert a group "Perl files";
m) Can convert from
if (A) { B }
B if A;

n) Highlights (by user-choice) either 3-delimiters constructs
(such as tr/a/b/), or regular expressions and `y/tr';
o) Highlights trailing whitespace;
p) Is able to manipulate Perl Regular Expressions to ease
conversion to a more readable form.
q) Can ispell POD sections and HERE-DOCs.
r) Understands comments and character classes inside regular
expressions; can find matching () and [] in a regular expression.
s) Allows indentation of //x-style regular expressions;
t) Highlights different symbols in regular expressions according
to their function; much less problems with backslashitis;
u) Allows to find regular expressions which contain interpolated parts.

5) The indentation engine was very smart, but most of tricks may be
not needed anymore with the support for `syntax-table' property. Has
progress indicator for indentation (with `imenu' loaded).

6) Indent-region improves inline-comments as well; also corrects
whitespace *inside* the conditional/loop constructs.

7) Fill-paragraph correctly handles multi-line comments;

8) Can switch to different indentation styles by one command, and restore
the settings present before the switch.

9) When doing indentation of control constructs, may correct
line-breaks/spacing between elements of the construct.

10) Uses a linear-time algorithm for indentation of regions (on Emaxen with
capable syntax engines).

11) Syntax-highlight, indentation, sexp-recognition inside regular expressions.