From 8410093dc12277eb89090a90db4dc33ab616d88a Mon Sep 17 00:00:00 2001 From: Dave Cross Date: Tue, 30 Jul 2019 16:39:42 +0100 Subject: Added solution to challenge 2 --- challenge-019/dave-cross/perl5/ch-2.pl | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 challenge-019/dave-cross/perl5/ch-2.pl diff --git a/challenge-019/dave-cross/perl5/ch-2.pl b/challenge-019/dave-cross/perl5/ch-2.pl new file mode 100644 index 0000000000..70d8035d63 --- /dev/null +++ b/challenge-019/dave-cross/perl5/ch-2.pl @@ -0,0 +1,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 ' ', ; + +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. -- cgit