Unrelated but you need to use "<code></code>" tags (or, ironically, you may use "<c></c>" instead) to delimit your sample code otherwise things get treated as markup. I believe you meant: $TXT =~ s/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]+/<c>/g;
In that context (the substitution side of an s/// statement) it means the literal string "<c>" (less than '<', a 'c', and greater than '>'). Probably (looking at the regex side) someone was using it to mark control characters in the input.
$ perl -E '$TXT = qq{\cD\cAFoo\x1e};$TXT =~ s/[\x00-\x08\x0b\x0c\x0e-\
+x1f\x7f]+/<c>/g;say $TXT'
<c>Foo<c>
Edit: Rather than trying to do something like this yourself if you're on some flavour of *NIX the od utility can be useful for producing an annotated dump translating non-printable ASCII to standard names (I like od -xa output myself).
The cake is a lie.
The cake is a lie.
The cake is a lie.
|