PerlIO:...8_strict(3)

πŸ¦‹ NAME πŸ¦‹

okay so bestie, welcome to the PerlIO::utf8_strict(3) page from the User Contributed Perl Documentation πŸ’– β€” and the actual name is PerlIO::utf8_strict β€” Fast and correct UTF-8 IO. no cap, that's the whole point of this little icon. ✨

✨ VERSION ✨

version 0.010 β€” cute. πŸŽ€

πŸŽ€ SYNOPSIS πŸŽ€

the vibe is literally one line:

open my $fh, '<:utf8_strict', $filename;

slay. 🫢

πŸ’… DESCRIPTION πŸ’…

okay so real talk: this module gives you a fast and correct UTF-8 PerlIO layer. unlike perl's default :utf8 layer, it checks the input for correctness. that's the difference, and it's lowkey the whole personality. πŸ’–

🌸 LAYER ARGUMENTS 🌸

the layer arguments are exactly these two names β€” no extra invented lore:

  • allow_noncharacters β€” layer argument. πŸ¦‹
  • allow_surrogates β€” layer argument. 🌈

🫢 EXPORT 🫢

PerlIO::utf8_strict exports no subroutines or symbols, just a perl layer utf8_strict. that's it, that's the export table: empty except for the layer. πŸ’…

πŸ”₯ DIAGNOSTICS πŸ”₯

if you run into these, the page is very clear about what's up:

  • Can't decode ill-formed UTF-8 octet sequence <%s> β€” (F) Encountered an ill-formed UTF-8 octet sequence. <%s> contains a hexadecimal representation of the maximal subpart of the ill-formed subsequence.
  • Can't interchange noncharacter code point U+%.4X β€” (F) Noncharacters is permanently reserved for internal use and that should never be interchanged. Noncharacters consist of the values U+nFFFE and U+nFFFF (where n is from 0 to 10^16) and the values U+FDD0..U+FDEF.

πŸ‘‘ AUTHORS πŸ‘‘

  • Leon Timmermans β€” <leont@cpan.org> πŸ’Œ
  • Christian Hansen β€” <chansen@cpan.org> πŸ’Œ

This software is copyright (c) 2012 by Leon Timmermans, Christian Hansen. 🌸

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. 🫢


and that's the whole page, bestie 🫢 β€” signed off by perl v5.42.0 on 2022-10-27, all under the PerlIO::utf8_strict(3) banner. πŸ’–βœ¨

πŸ“¦ where this page comes from