blob: 70d8035d63625df90d63423e808fad12c1e1cc05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#!/usr/bin/perl
use strict;
use warnings;
use constant SPACE => ' ';
use constant SPACE_WIDTH => length(SPACE);
my $line_len = shift || 72; # Old-skool Unix
my $text = join ' ', <DATA>;
my $space_left = $line_len;
for (split /\s+/, $text) {
if (SPACE_WIDTH + length() > $space_left) {
print "\n$_";
$space_left = $line_len - length();
} else {
print $_ . SPACE;
$space_left -= (length() + SPACE_WIDTH);
}
}
print "\n";
__DATA__
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis volutpat,
ipsum nec luctus dictum, velit nisi sodales dui, ut feugiat risus dolor
vel metus. Morbi ut pretium velit. Proin ultricies enim magna, at semper
odio molestie vitae. In hac habitasse platea dictumst. Fusce non sapien
bibendum ligula pellentesque volutpat in et lectus. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Vestibulum sodales molestie dignissim.
|