Text::Tabs -- expand and unexpand tabs per the unix expand(1)
and unexpand(1)
use Text::Tabs;
$tabstop
= 4; @lines_without_tabs
=
expand(@lines_with_tabs);
@lines_with_tabs
=
unexpand(@lines_without_tabs);
Text::Tabs does about what the unix utilities expand(1)
and
unexpand(1)
do. Given a line with tabs in it, expand will
replace the tabs with the appropriate number of spaces. Given a line with
or without tabs in it, unexpand will add tabs when it can save bytes by
doing so. Invisible compression with plain ascii!
expand doesn't handle newlines very quickly -- do not feed it an entire document in one string. Instead feed it an array of lines.
David Muir Sharnoff <muir@idiom.com>