Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: "percent task completed progress bar" in cli interface, how?

by Booger (Pilgrim)
on Jul 17, 2006 at 01:51 UTC ( #561631=note: print w/ replies, xml ) Need Help??


in reply to Re: "percent task completed progress bar" in cli interface, how?
in thread "percent task completed progress bar" in cli interface, how?

Your line

sprintf "|%-${width}s| Got %${num_width}s bytes of %s (%.2f%)\r",

should really read

sprintf "|%-${width}s| Got %${num_width}s bytes of %s (%.2f%%)\r",

Cheers, Matt


Comment on Re^2: "percent task completed progress bar" in cli interface, how?
Select or Download Code
Re^3: "percent task completed progress bar" in cli interface, how?
by zentara (Archbishop) on Jul 17, 2006 at 14:17 UTC
    You may know more about sprintf's formats than me, but adding an extra % , as you suggest, dosn't change the behavior at all. Can you explain why?

    I'm not really a human, but I play one on earth. Cogito ergo sum a bum
      If you use the warnings pragma you'll find that the original code produces the following error

      Invalid conversion in sprintf: "%)" at test.pl line 16.

      The sprintf function documentation specifies that a percent sign should be formatted '%%'. I'm not sure why excluding the extra '%' doesn't count as a syntax error.

      From what I can tell the warning has been emitted via warnings since around 5.8.0. FYI I'm using 5.8.7 from Ubuntu 6.06 with the patch "SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962." This patch is applied by either the Debian team or Ubuntu team (not sure which one). I think the patch originated from http://www.cpan.org/modules/by-module/Compress/NWCLARK/sprintf-5.8.7.patch.

      So you might not be wrong per-se but sprintf in versions of Perl without this patch certainly don't do what the manual says it should.

      Cheers,
      Matt

        Thanks, I should have been using strict and warnings.

        I'm not really a human, but I play one on earth. Cogito ergo sum a bum

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://561631]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2015-07-05 19:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls