Richard 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->();
}

You want something more like this:

sub counter {
    my $count;
    my $clear = `clear`;
    my $counting = <<'EOF';
%s====================================================
|           Counting...                            |
|           %2d                                     |
|                                                  |
====================================================
EOF
    return sub { local $| = 1; printf $counting, $clear, ++$count }
    }

my $yeah = counter();
for ( 1 .. 35 ) {
    sleep 1;
    $yeah->();
    }



John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to