Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

A format to "print" to variable?

by Anonymous Monk
on Oct 19, 2002 at 04:21 UTC ( #206480=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Is there a way to have a "format" ouput to a variable? Hard to search on Google, as all terms are generic ;-)

Comment on A format to "print" to variable?
Re: A format to "print" to variable?
by mojotoad (Monsignor) on Oct 19, 2002 at 04:33 UTC
    Check out Open Has a New Trick ... Zaxo demonstrates a nifty way of associating a filehandle with a scalar variable.

    Whether this is the best way to go about the problem I have no idea, but it's a neat trick.

    Matt

    P.S. Upon rereading your request, I might be guilty of an overly elaborate interpretation. You might want the sprintf() function if you merely want to format a string...I was thinking you wanted to use formats.

      There is another manner by which formatted data can be stored in strings through use of the formline function which I described in this post.

      The formline function is normally only used internally, allows for formats to be built and returned in the format output accumulator, $^A. Normally, the contents of this variable are outputted to the currently selected filehandle via the write command, but this variable, $^A, can be read and reset directly.

      From the previous node referenced:

      my @list = (1, 2); # the output format can be stored in a variable prior to # output my $format = '@<<<< @<<<<'; # format the contents of @list as per the format structure # defined in the variable $format, the output to be # stored in the format output accumulator, $^A formline $format, @list; print $^A, "\n"; $^A = "";

      Thus in this manner, through use of the formline function, both the output format and the subsequent formatted output can be retrieved and stored - This method is advantageous in that it can be employed with older installations of Perl. For further information see formline and perlform.

       

      perl -e 'print+unpack("N",pack("B32","00000000000000000000000111010011")),"\n"'

Re: A format to "print" to variable?
by Enlil (Parson) on Oct 19, 2002 at 04:38 UTC
Re: A format to "print" to variable?
by sharkey (Scribe) on Oct 19, 2002 at 16:58 UTC

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (13)
As of 2015-07-02 21:30 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 (45 votes), past polls