s/(.{50,80})(\s+)/$1\n/g
####
#!/usr/bin/env perl -l
use strict;
use warnings;
use open OUT => qw{:encoding(utf8) :std};
# From: http://www.unicode.org/charts/PDF/U0400.pdf
# Cyrillic: 0400 - 04FF
# Basic Russian alphabet: 0410 - 044F
my @sample_chars = map { chr } hex '0410' .. hex '044F';
print 'Total characters for random selection: ', 0+@sample_chars;
my $string;
for (0 .. 50) {
for (1 .. 5 + rand 5) {
$string .= $sample_chars[rand @sample_chars];
}
$string .= ' ';
}
print 'One line:';
print $string;
(my $multiline_string = $string) =~ s/(.{50,80})(\s+)/$1\n/g;
print 'Many lines:';
printf '%10s', $_ for 1 .. 8; print '';
print '1234567890' x 8;
print $multiline_string
####
use open OUT => qw{:encoding(utf8) :std};