Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: getting wrong value

by AnomalousMonk (Abbot)
on Jan 15, 2013 at 22:54 UTC ( #1013465=note: print w/ replies, xml ) Need Help??


in reply to getting wrong value

printf returns 1 for a successful print, which is what you say happens. You probably want sprintf (note leading 's'), which returns a string.

Update:

>perl -wMstrict -le "my $line = 55473; my $line2 = sprintf '%#x', $line; printf qq{\$line is '%#x' \n}, $line; print qq{\$line2 is '$line2'}; " $line is '0xd8b1' $line2 is '0xd8b1'


Comment on Re: getting wrong value
Download Code
Re^2: getting wrong value
by ggrise (Initiate) on Jan 15, 2013 at 23:01 UTC
    Thanks, that works. however if printf will print to STDOUT, why can't I get it to print to $line2 ?

      You can (since 5.8; see open, search for 'scalar'):

      >perl -wMstrict -le "my $scalar_as_file; ;; open my $fh_scalar, '>', \$scalar_as_file or die qq{opening: $!}; printf $fh_scalar q{xxx :%#x: yyy}, 55473; close $fh_scalar; ;; print qq{scalar as file: '$scalar_as_file'}; " scalar as file: 'xxx :0xd8b1: yyy'

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (8)
As of 2014-12-22 03:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (110 votes), past polls