Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: scratching the surface of File::Temp

by dkubb (Deacon)
on Feb 10, 2001 at 06:00 UTC ( #57552=note: print w/replies, xml ) Need Help??

in reply to (code) scratching the surface of File::Temp

Another great alternatives for making temporary filehandles is IO::File's new_tmpfile() method.

I prefer to use this method when their is no need to know the name of the file. In fact, IO::File hides these implementation details from you completly, and very nicely I might add. It Does the Right Thing with respect to security, file permissions and the naming of the file to ensure there is no "filename collisions".

Here's a quick example to illustrate how close it is compared to standard IO::File handle:

use IO::File; my $temp_fh = IO::File->new_tmpfile or die "Could not open a temporary file: $!"; #Save some stuff in the file handle $temp_fh->print('this stuff to the file handle'); #Rewind to the beginning $temp_fh->seek(0, 0); #It can do anything that a normal IO::File file handle can while(my $line = <$temp_fh>) { print $line; #prints 'this stuff to the file handle' }

I find temp files are really useful if you need to do alot of processing on large files/strings, and you can't do all the processing in memory.

Here you will see a real-world example of IO::File's new_tmpfile() method in action. I wrote this example to show an interesting way to prepend any string to a filehandle.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2023-05-31 03:07 GMT
Find Nodes?
    Voting Booth?

    No recent polls found