in reply to Progress Bar in Perl script

Since you don’t have a MAX counter, the progress you want to show is not a proportion of the total job, but just something that shows that ‘progress’ is being made. So, why would you need a CPAN module? Presumably, your output occurs in a loop, so:

my $progress = 100; # adjust as needed my $count = 0; while (...) { ... show_progress() if (++$count % $progress == 0); } progress_complete(); # continue main code sub show_progress { print '*'; } sub progress_completed { print " completed\n"; }

You don’t say whether the output is via console or GUI. The above is written for the console, but should be easily adaptable for a GUI if required.

HTH,

Athanasius <°(((><contra mundum

Replies are listed 'Best First'.
Re^2: Progress Bar in Perl script
by slayedbylucifer (Scribe) on Jul 08, 2012 at 10:41 UTC

    Yes. that is correct. I just wanted to show something like a "spinning" cursor progress which will tell the user that script is doing its job. I do not want to show how much percentage is completed. This is meant for Linux console on a RHEL 6.2 box.

    Thanks Athanasius for your time.

      So you can use the Term::Spinner module. It can be easily done manually, too:
      $|=1; #autoflush sub spin { my @spinners = qw{/ - \ |}; my $index = $_[0]; print $spinners[$index]."\033[1D"; # man console_codes, ECMA-48 CSI se +quences, "CUB" return $index == 3 ? 0 : $index++; } my $j=0; for (something) { do_something; $j=&spin($j); }
      Sorry if my advice was wrong.
        No, Your advice was not wrong. I think I am looking for something similar. I will definitely try out your suggestion. Thanks for your time.