Your immediate problem is that x doesn't do what you want. To achieve what you want ("doubling" the commands) you need something like:
push @array, ('@', '@') if scalar(@array) < 10; splice @array, -2, 2 if scalar(@array) >= 10;
However that is only a tiny part of the problem. Your bigest problem is that an array is not appropriate, you need to use a string. Something like this:
use strict; use warnings; use Text::Autoformat; my $str=qw/@/; for my $i(1..10){ $str = autoformat ($str, { justify => 'center' }); print "$str\n"; $str .= "@@" if length ($str) < 10; substr $str, -2, 2, '' if length ($str) > 10; }
However that still fails because you clobber $str each time through the loop. Changing the first two lines in the loop to :
my $newStr = autoformat ($str, { justify => 'center' }); print "$newStr\n";
gets you closer, but leaves another logic problem (bug) which I'll leave you to puzzle over. :)
In reply to Re: Text::Autoformat
by GrandFather
in thread Text::Autoformat
by Andrew_Levenson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |