In addition to what Corion says about placeholders, be aware that quoting, not shown in perldiag, may be added. For instance, that documentation shows this error message:
Can't find string terminator %s anywhere before EOF
Consider how that message is subtly changed by adding single quotes (around %s) in the first example below and double quotes in the second example.
$ cat pm_error_quine
Can't find string terminator " anywhere before EOF at pm_error_quine l
+ine 1.
$ perl pm_error_quine 1> /dev/null
Can't find string terminator '"' anywhere before EOF at pm_error_quine
+ line 1.
$
$ cat pm_error_quine
Can't find string terminator ` anywhere before EOF at pm_error_quine l
+ine 1.
$ perl pm_error_quine 1> /dev/null
Can't find string terminator "`" anywhere before EOF at pm_error_quine
+ line 1.
$
|