in reply to Super simple progress

The "twirling baton" is another simple progress indicator that may be more suited to large jobs with indeterminate ends. Here's a simple implementation that I wrote years ago, long before even finding this site:

BEGIN { my @chars=('-','\\','|','/','-','\\','|','/'); my $step=0; sub baton_start { $step=0 ; goto &baton_step } sub baton_step { print STDERR $chars[$step++],"\b"; $step=0 if $step >=8 } sub baton_end { print STDERR "\b "; } }

I have used this in many one-off scripts and I generally just copy and paste it when needed, since it is so simple.

Replies are listed 'Best First'.
Re^2: Super simple progress (Twirling baton alternative)
by Anonymous Monk on Dec 31, 2019 at 03:10 UTC
    Not on windows you havent :) \r\r\r\r\r\r\r\r\r\r\r\r

      You are correct about that; none of my personal stuff has been on Windows for over a decade now. Come to think of it, none of the "heavy lifting" at $WORK has been on Windows either.

      I presume the builtin Windows excuse for a terminal emulator does not properly handle ASCII backspace and overwrite? Have you tried rxvt or other ports of X11-native terminal emulators that actually work? There is even a MinGW X server if I recall correctly, so you could use xterm on Windows. :)

        doesn't work in whatever old version i have :)