Text::Tabs -- expand and unexpand tabs per the unix expand and unexpand


use Text::Tabs;

$tabstop = 4; @lines_without_tabs = expand; @lines_with_tabs = unexpand;


Text::Tabs does about what the unix utilities expand and unexpand 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