See the current Perl documentation for Text::Tabs.
Here is our local, out-dated (pre-5.6) version:

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>