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!


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

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.


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