Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Answer: How do I print formatted text to a scalar instead of a filehandle?

by shmem (Canon)
on Jan 05, 2007 at 00:54 UTC ( #593050=categorized answer: print w/replies, xml ) Need Help??

Q&A > input and output > How do I print formatted text to a scalar instead of a filehandle? - Answer contributed by shmem

Since Perl 5.8.0 you can open a filehandle for writing to a scalar. Then, if you make that filehandle the default, writes will go there.

my %hash = (one => 1, two => 2, three => 3); my $output; open FH, '>', \$output; my $old_fh = select(FH); my $key; foreach $key (keys %hash) { write; } select ($old_fh); print $output; format FH = @<<<<<<<<< @## $key, $hash{$key} .
Content of $output:
three 3 one 1 two 2

Unfortunately, this doesn't seem to work with localized filehandles.

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2017-02-23 21:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?






    Results (351 votes). Check out past polls.