in reply to Text::Autoformat
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. :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Text::Autoformat
by Andrew_Levenson (Hermit) on Apr 28, 2006 at 20:23 UTC | |
by GrandFather (Saint) on Apr 28, 2006 at 20:39 UTC | |
by Andrew_Levenson (Hermit) on Apr 28, 2006 at 20:42 UTC |