Manpage logo

source::encoding - Declare Perl source code encoding

NAME  SYNOPSIS  DESCRIPTION  SEE ALSO 

NAME

source::encoding −− Declare Perl source code encoding

SYNOPSIS

use source::encoding 'ascii';
use source::encoding 'utf8';
no source::encoding;

DESCRIPTION

These days, Perl code either generally contains only ASCII characters with "\x{}" and similar escapes to represent non−ASCII, or "use utf8" is used to indicate that the source code itself contains characters encoded as UTF−8.

That means that a character in the source code not meeting these criteria is often a typographical error. This pragma is used to tell Perl to raise an error when this happens.

"use source::encoding 'utf8'" is a synonym for "use utf8". They may be used interchangeably.

"use source::encoding 'ascii'" turns off any UTF−8 expectations, and raises a fatal error if any character within its scope in the input source code is not ASCII (or ASCII−equivalent on EBCDIC systems).

"no source::encoding" turns off any UTF−8/ASCII expectations for the remainder of its scope. The meaning of non−ASCII characters is then undefined.

"use source::encoding 'ascii'" is automatically enabled within the lexical scope of a "use v5.41.0" or higher.

SEE ALSO

utf8


Updated 2026-06-01 - jenkler.se | uex.se