must be a printable (non-control) ASCII character.
Note that ASCII characters that don't map to control characters are
discouraged, and will generate the warning (when enabled)
L""\c%c" is more clearly written simply as "%s"">.
=item Character following \%c must be '{' or a single-character Unicode property name in regex; marked by <-- HERE in m/%s/
(F) (In the above the C<%c> is replaced by either C or C
.) You
specified something that isn't a legal Unicode property name. Most
Unicode properties are specified by C<\p{...}>. But if the name is a
single character one, the braces may be omitted.
=item Character in 'C' format wrapped in pack
(W pack) You said
pack("C", $x)
where $x is either less than 0 or more than 255; the C<"C"> format is
only for encoding native operating system characters (ASCII, EBCDIC,
and so on) and not for Unicode characters, so Perl behaved as if you meant
pack("C", $x & 255)
If you actually want to pack Unicode codepoints, use the C<"U"> format
instead.
=item Character in 'c' format wrapped in pack
(W pack) You said
pack("c", $x)
where $x is either less than -128 or more than 127; the C<"c"> format
is only for encoding native operating system characters (ASCII, EBCDIC,
and so on) and not for Unicode characters, so Perl behaved as if you meant
pack("c", $x & 255);
If you actually want to pack Unicode codepoints, use the C<"U"> format
instead.
=item Character in '%c' format wrapped in unpack
(W unpack) You tried something like
unpack("H", "\x{2a1}")
where the format expects to process a byte (a character with a value
below 256), but a higher value was provided instead. Perl uses the
value modulus 256 instead, as if you had provided:
unpack("H", "\x{a1}")
=item Character in 'W' format wrapped in pack
(W pack) You said
pack("U0W", $x)
where $x is either less than 0 or more than 255. However, C-mode
expects all values to fall in the interval [0, 255], so Perl behaved
as if you meant:
pack("U0W", $x & 255)
=item Character(s) in '%c' format wrapped in pack
(W pack) You tried something like
pack("u", "\x{1f3}b")
where the format expects to process a sequence of bytes (character with a
value below 256), but some of the characters had a higher value. Perl
uses the character values modulus 256 instead, as if you had provided:
pack("u", "\x{f3}b")
=item Character(s) in '%c' format wrapped in unpack
(W unpack) You tried something like
unpack("s", "\x{1f3}b")
where the format expects to process a sequence of bytes (character with a
value below 256), but some of the characters had a higher value. Perl
uses the character values modulus 256 instead, as if you had provided:
unpack("s", "\x{f3}b")
=item charnames alias definitions may not contain a sequence of multiple
spaces; marked by S<<-- HERE> in %s
(F) You defined a character name which had multiple space characters
in a row. Change them to single spaces. Usually these names are
defined in the C<:alias> import argument to C