http://qs321.pair.com?node_id=654108

bdimych has asked for the wisdom of the Perl Monks concerning the following question:

Hi All. I need to split the string to a several substrings of the same length, the last substring should be blank padded so that it's length also would be the same. And - that's the problem - the string may be empty also.

That is what I've written
1) - ok on empty string, but on not empty string produce unnecessary blank substring

my $x = ""; $x=~s/(.{0,3})/"'$1".(' 'x(3-length($1)))."'\n"/eg; print $x --- ' ' my $x = "1234567890"; $x=~s/(.{0,3})/"'$1".(' 'x(3-length($1)))."'\n"/eg; print $x --- '123' '456' '789' '0 ' ' '
2) - ok on not empty string, but empty string is not padded
my $x = ""; $x=~s/(.{1,3})/"'$1".(' 'x(3-length($1)))."'\n"/eg; print $x --- ___prints_nothing___ my $x = "1234567890"; $x=~s/(.{1,3})/"'$1".(' 'x(3-length($1)))."'\n"/eg; print $x --- '123' '456' '789' '0 '
any advice?