Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

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 ;-)

Replies are listed 'Best First'.
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.


    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?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (9)
As of 2020-09-22 11:31 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (129 votes). Check out past polls.