diff options
author | David Muir Sharnoff <muir@idiom.com> | 1996-12-17 22:59:59 -0800 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1996-12-19 16:44:00 +1200 |
commit | 4fc6b8d8b1c6c2152c9aca876e60cc657bf252e6 (patch) | |
tree | 9aef8a5b1fffc3ec0df290259d16208e9dc80fd1 /lib/Text | |
parent | df3ef7a9a68db503d1aecd7cb40d5f974fa0066b (diff) | |
download | perl-4fc6b8d8b1c6c2152c9aca876e60cc657bf252e6.tar.gz |
Please update Text::Wrap and Text::Tabs
In the next perl releae, please include the latest versions of
Text::Wrap and Text::Tabs. They always be found in the nearest
CPAN.
Actually, I'm not sure how far behind (if any) the current source
is, but I keep getting bug reports from old versions so I thought
I should make sure...
p5p-msgid: <199612180659.WAA24957@idiom.com>
Diffstat (limited to 'lib/Text')
-rw-r--r-- | lib/Text/Tabs.pm | 18 | ||||
-rw-r--r-- | lib/Text/Wrap.pm | 39 |
2 files changed, 45 insertions, 12 deletions
diff --git a/lib/Text/Tabs.pm b/lib/Text/Tabs.pm index 4024d7b685..acd7afb7d6 100644 --- a/lib/Text/Tabs.pm +++ b/lib/Text/Tabs.pm @@ -7,7 +7,7 @@ require Exporter; @EXPORT = qw(expand unexpand $tabstop); use vars qw($VERSION $tabstop $debug); -$VERSION = 96.051501; +$VERSION = 96.121201; use strict; @@ -27,7 +27,7 @@ sub expand /sex; } return @l if wantarray; - return @l[0]; + return $l[0]; } sub unexpand @@ -60,7 +60,7 @@ sub unexpand $x = join("\n", @lines); } return @l if wantarray; - return @l[0]; + return $l[0]; } 1; @@ -69,15 +69,15 @@ __END__ =head1 NAME -Text::Tabs - expand and unexpand tabs per the unix expand(1) and unexpand(1) +Text::Tabs -- expand and unexpand tabs per the unix expand(1) and unexpand(1) =head1 SYNOPSIS - use Text::Tabs; +use Text::Tabs; - $tabstop = 4; - @lines_without_tabs = expand(@lines_with_tabs); - @lines_with_tabs = unexpand(@lines_without_tabs); +$tabstop = 4; +@lines_without_tabs = expand(@lines_with_tabs); +@lines_with_tabs = unexpand(@lines_without_tabs); =head1 DESCRIPTION @@ -94,4 +94,4 @@ entire document in one string. Instead feed it an array of lines. =head1 AUTHOR -David Muir Sharnoff E<lt>F<muir@idiom.com>E<gt> +David Muir Sharnoff <muir@idiom.com> diff --git a/lib/Text/Wrap.pm b/lib/Text/Wrap.pm index 2ffc69ec20..96ccf7ee2d 100644 --- a/lib/Text/Wrap.pm +++ b/lib/Text/Wrap.pm @@ -9,6 +9,7 @@ require Exporter; $VERSION = 96.041801; use vars qw($VERSION $columns $debug); +use strict; BEGIN { $columns = 76; # <= screen width @@ -16,7 +17,6 @@ BEGIN { } use Text::Tabs; -use strict; sub wrap { @@ -63,6 +63,7 @@ sub wrap return $r; } + 1; __DATA__ @@ -82,7 +83,7 @@ Text::Wrap - line wrapping to form simple paragraphs =head1 DESCRIPTION -Text::Wrap is a very simple paragraph formatter. It formats a +Text::Wrap::wrap() is a very simple paragraph formatter. It formats a single paragraph at a time by breaking lines at word boundries. Indentation is controlled for the first line ($initial_tab) and all subsquent lines ($subsequent_tab) independently. $Text::Wrap::columns @@ -95,6 +96,38 @@ should be set to the full width of your output device. =head1 AUTHOR -David Muir Sharnoff E<lt>F<muir@idiom.com>E<gt> +David Muir Sharnoff <muir@idiom.com> with help from Tim Pierce and +others. =cut + + print fill($initial_tab, $subsequent_tab, @text); + + print fill("", "", `cat book`); + +Text::Wrap::fill() is a simple multi-paragraph formatter. It formats +each paragraph separately and then joins them together when it's done. It +will destory any whitespace in the original text. It breaks text into +paragraphs by looking for whitespace after a newline. In other respects +it acts like wrap(). + +# Tim Pierce did a faster version of this: + +sub fill +{ + my ($ip, $xp, @raw) = @_; + my @para; + my $pp; + + for $pp (split(/\n\s+/, join("\n",@raw))) { + $pp =~ s/\s+/ /g; + my $x = wrap($ip, $xp, $pp); + push(@para, $x); + } + + # if paragraph_indent is the same as line_indent, + # separate paragraphs with blank lines + + return join ($ip eq $xp ? "\n\n" : "\n", @para); +} + |