package Text::Tabs;
require Exporter;
@ISA=(Exporter);
@EXPORT=qw(expand unexpand $tabstop);
use vars qw($VERSION $tabstop $debug);
$VERSION = 96.121201;
use strict;
BEGIN{$tabstop=8;
$debug=0;}sub expand{my@l=@_;
for$_(@l){1 while s/(^|\n)([^\t\n]*)(\t+)/
			$1. $2 . (" " x 
				($tabstop * length($3)
				- (length($2) % $tabstop)))
			/sex;}return@l if wantarray;
return$l[0];}sub unexpand{my@l=@_;
my@e;
my$x;
my$line;
my@lines;
my$lastbit;
for$x(@l){@lines=split("\n",$x,-1);
for$line(@lines){$line=expand($line);
@e=split(/(.{$tabstop})/,$line,-1);
$lastbit=pop(@e);
$lastbit='' unless defined$lastbit;
$lastbit="\t" if$lastbit eq" "x$tabstop;
for$_(@e){if($debug){my$x=$_;
$x=~s/\t/^I\t/gs;
print"sub on '$x'\n";}s/  +$/\t/;}$line=join('',@e,$lastbit);}$x=join("\n",@lines);}return@l if wantarray;
return$l[0];}1;
__END__


