Chas. Owens wrote:
On Sat, Dec 13, 2008 at 21:13, Richard <rich.j...@gmail.com> wrote:
wanted to draw a box that's counting up for certain time.
Thought I could use the counter but it just displays the box not the
number..
can anyone point it out for me?
thank you.
use warnings;
use strict;
sub counter {
my $count;
my $counting = <<EOF;
====================================================
| Counting...
|
| ++$count;
|
|
|
====================================================
EOF
return sub { print $counting }
}
my $real_count;
my $yeah = counter();
while ($real_count < '35') {
++$real_count;
system('clear');
$yeah->();
}
The problem is that
my $counting = <<EOF;
====================================================
| Counting...
|
| ++$count;
|
|
|
====================================================
EOF
only gets executed once. Move it into your closure to execute it each
time the closure is called:O
#!/usr/bin/perl
use warnings;
use strict;
sub counter {
my $count;
return sub {
my $l = (length ++$count)/2 - .5;
my $r = (length $count)/2;
print
"=" x 52, "\n",
"|", " " x 20, "Counting...", " " x 19, "|\n",
"|", " " x (25 - $l), $count, " " x (25 - $r), "|\n",
"|", " " x 50, "|\n",
"=" x 52, "\n";
}
}
my $yeah = counter();
for (1 .. 35) {
system('clear');
$yeah->();
select undef, undef, undef, .25;
}
WOW..
thank you and I will study this code now... this is great!!
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/