Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^2: Temporary file management in Perl -- is it possible?

by taint (Chaplain)
on Apr 24, 2013 at 23:43 UTC ( #1030551=note: print w/ replies, xml ) Need Help??


in reply to Re: Temporary file management in Perl -- is it possible?
in thread Temporary file management in Perl -- is it possible?

Greetings mbethke, and thank you for the reply.
I looked at File::Temp. But if I'm not mistaken, it creates an (altho temporary) actual copy of the file.
While this wouldn't be the "end of the earth" for me, these files are ~150Mb each.
Copy time, and space seems less efficient than using a symlink. Which is why I chose that direction.
Maybe kennethk's suggestion solves this. Then again, perhaps initiating a check at the beginning of
this script, similar to:

#!/bin/sh - find . -type f -name '*.tbz2' -maxdepth 1 -cmin '+24' | xargs rm exit
would be nearly good enough.
OK, the above is a shell script, and while I could "shell out" within Perl.
I'm sure there must be a way do do the same whithin Perl. :)

Thanks again for taking the time to respond!

--chris

#!/usr/bin/perl -Tw
use perl::always;
my $perl_version = "5.12.4";
print $perl_version;


Comment on Re^2: Temporary file management in Perl -- is it possible?
Download Code
Replies are listed 'Best First'.
Re^3: Temporary file management in Perl -- is it possible?
by kennethk (Abbot) on Apr 25, 2013 at 14:48 UTC
    If you want to do a clean-up first, you could invoke system at the start of your script:
    system(q{find . -type f -name '*.tbz2' -maxdepth 1 -cmin '+24' | xargs + rm})
    You can also invoke all necessary commands in Perl
    opendir my $dh, '.'; for (readdir $dh) { unlink if -l and /\.tbz2$/ and 24 * 60 * -M > 10; }
    See -X.

    #11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.

      Greetings kennethk, and thank you for taking the time to provide this solution!
      That's exactly what I was thinking. But, while having read -X, still hadn't figured out how to accomplish it in Perl.
      Thanks, again. I really appreciate it.

      --chris

      #!/usr/bin/perl -Tw
      use perl::always;
      my $perl_version = "5.12.4";
      print $perl_version;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (10)
As of 2015-07-08 08:46 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 (98 votes), past polls