#!/usr/bin/perl use strict; use warnings; my ($content, @content); { local $/; $content = ; } @content = split //, $content; my $content_ref = \@content; count( $content_ref ); sub count { print " 1 2 3 4 5 6\n"; print "1234567890123456789001234567890123456789012345678901234567890\n"; my $char; my $count = 0; my $string_ref = shift; my @string = @$string_ref; for $char ( @string ) { if ( ( $count > 50 ) && ( $char ne ' ' ) ) { print $char; ++$count; next; }elsif ( ( $count > 50 ) && ( $char eq ' ' ) ) { print "$char\n"; $count = 0; next; } elsif ( $char =~ /\n/ ) { print "$char"; $count = 0; next; } else { print $char; ++$count; } } } __DATA__ data: This is a paragraph that will be far too wide to print on a single line in a normal width terminal (console) so we are going to count chars and tell Perl to insert a newline after a reasonable number of chars, sixty, in this case. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent ante metus, iaculis a, adipiscing nec, consequat et, arcu. Proin massa. Nulla dictum, leo ac elementum scelerisque, felis ipsum porta justo, a viverra orci sem ut diam. Integer facilisis volutpat orci. Donec at turpis sed purus ultricies rhoncus. Fusce urna. Praesent ac ligula id augue interdum consectetuer. Sed vestibulum, dui eu dignissim tincidunt, mi orci eleifend metus, tempus placerat arcu nulla sit amet lacus. Duis felis. Aenean lobortis turpis a elit. Suspendisse mi quam, tempus ac, venenatis in, commodo sed, enim. Proin dignissim placerat lacus. Maecenas blandit est et ipsum. In dignissim suscipit leo. Ut congue mi nec dolor. Curabitur malesuada purus congue purus. Nulla facilisi. Maecenas at felis. Aliquam cursus, risus vitae rutrum vestibulum, tellus ante pulvinar tortor, rutrum faucibus enim magna ac nisi. Proin libero mauris, aliquam vel, luctus vitae, pretium eget, nisi. Etiam nunc neque, tempus malesuada, commodo non, tempor vel, sapien. Duis elementum fermentum libero. In tristique. Curabitur pede neque, adipiscing quis, egestas a, imperdiet ac, velit. #### 1 2 3 4 5 6 1234567890123456789001234567890123456789012345678901234567890 data: This is a paragraph that will be far too wide to print on a single line in a normal width terminal (console) so we are going to count chars and tell Perl to insert a newline after a reasonable number of chars, sixty, in this case. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent ante metus, iaculis a, adipiscing nec, consequat et, arcu. Proin massa. Nulla dictum, leo ac elementum scelerisque, felis ipsum porta justo, a viverra orci sem ut diam. Integer facilisis volutpat orci. Donec at turpis sed purus ultricies rhoncus. Fusce urna. Praesent ac ligula id augue interdum consectetuer. Sed vestibulum, dui eu dignissim tincidunt, mi orci eleifend metus, tempus placerat arcu nulla sit amet lacus. Duis felis. Aenean lobortis turpis a elit. Suspendisse mi quam, tempus ac, venenatis in, commodo sed, enim. Proin dignissim placerat lacus. Maecenas blandit est et ipsum. In dignissim suscipit leo. Ut congue mi nec dolor. Curabitur malesuada purus congue purus. Nulla facilisi. Maecenas at felis. Aliquam cursus, risus vitae rutrum vestibulum, tellus ante pulvinar tortor, rutrum faucibus enim magna ac nisi. Proin libero mauris, aliquam vel, luctus vitae, pretium eget, nisi. Etiam nunc neque, tempus malesuada, commodo non, tempor vel, sapien. Duis elementum fermentum libero. In tristique. Curabitur pede neque, adipiscing quis, egestas a, imperdiet ac, velit.