POD::TEXT::OVERSTRIKE(3perl)

πŸŽ€ NAME πŸŽ€

Pod::Text::Overstrike β€” bestie, it turns your POD data into formatted overstrike text. slay. πŸ’–

(this page lives in the Perl Programmers Reference Guide, just so you know where you are πŸ’…)


✨ SYNOPSIS ✨

use Pod::Text::Overstrike;
my $parser = Pod::Text::Overstrike->new (sentence => 0, width => 78);

# Read POD from STDIN and write to STDOUT.
$parser->parse_from_filehandle;

# Read POD from file.pod and write to file.txt.
$parser->parse_from_file ('file.pod', 'file.txt');

like, that's literally it, go off πŸ’«


πŸ¦‹ DESCRIPTION πŸ¦‹

so Pod::Text::Overstrike is a simple subclass of Pod::Text, and what it does is highlight your output text using overstrike sequences, in a manner similar to nroff. iconic honestly.

here's the tea on how it works:

  • characters in bold text get overstruck β€” that's (character, backspace, character) 🫢
  • characters in underlined text get converted into overstruck underscores β€” that's (underscore, backspace, character) πŸ’…

this format was originally designed for hard-copy terminals and/or line printers, but the gag is it's still readable on soft-copy (CRT) terminals. versatile king πŸ‘‘

overstruck text is best viewed by page-at-a-time programs that take advantage of the terminal's stand-out and underline capabilities β€” like, for example, the less program on Unix. use less, it knows what it's doing 🌸

and apart from the whole overstrike thing, it in all ways functions like Pod::Text. so if you want the details and the full list of available options, go read Pod::Text. periodt πŸ’œ


πŸ’€ BUGS πŸ’€

ngl there's a quirk. currently, the outermost formatting instruction wins. so for example, underlined text that lives inside a region of bold text just displays as simply bold. the inner formatting gets absolutely ignored bestie 😭

there may be some better approach possible. someone please fix it, I'm begging πŸ™ˆ


🌈 COMPATIBILITY 🌈

the lore drop, chronological order:

  • Pod::Text::Overstrike 1.01 (based on Pod::Parser) was the first version of this module included with Perl, in Perl 5.6.1.
  • the current API, based on Pod::Simple, was added in Pod::Text::Overstrike 2.00, included in Perl 5.9.3.
  • several problems with wrapping and line length were fixed as recently as Pod::Text::Overstrike 6.0.0. πŸ’…

this module inherits its API and most behaviour from Pod::Text, so the details in "COMPATIBILITY" in Pod::Text also apply. read that too, bestie, it's required reading πŸ“š

Pod::Text and Pod::Text::Overstrike have had the same module version since 4.00, included in Perl 5.23.7. (they unfortunately diverge in confusing ways prior to that. lowkey messy 😭)


🚨 CAVEATS 🚨

line wrapping is done only at ASCII spaces and tabs, rather than using a correct Unicode-aware line wrapping algorithm. so like, don't come for it about your fancy Unicode line breaks, it's doing its best πŸ’€


πŸ‘‘ AUTHOR πŸ‘‘

originally written by Joe Smith <Joe.Smith@inwap.com>, using the framework created by Russ Allbery <rra@cpan.org>. subsequently updated by Russ Allbery. two legends fr fr 🫢


Copyright 2000 Joe Smith <Joe.Smith@inwap.com>

Copyright 2001, 2004, 2008, 2014, 2018-2019, 2022, 2024 Russ Allbery <rra@cpan.org>

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. πŸ’–


πŸ‘€ SEE ALSO πŸ‘€

  • Pod::Text
  • Pod::Simple

the current version of this module is always available from its web site at <https://www.eyrie.org/~eagle/software/podlators/>. it is also part of the Perl core distribution as of 5.6.0. 🌟


and that's the whole page bestie, you ate it all up πŸ’…βœ¨

this was perl v5.44.0, dated 2026-10-17 β€” go forth and overstrike, mwah πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from
  • arch rolling: perl 5.44.0-1 Β· Artistic-1.0-Perl AND GPL-1.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms