Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

TAR.pl

by $code or die (Deacon)
on Apr 11, 2001 at 20:06 UTC ( #71715=sourcecode: print w/ replies, xml ) Need Help??

Category: Utility Scripts
Author/Contact Info Simon Flack - $code or die
perl@simonflack.com
Description: I wanted to find a simple command line TAR\GZ program for Windows to GZip my modules for uploading to CPAN. But I couldn't find one I liked.

Of course there is always cygwin which I urge everyone to download who use "explorer.exe" as a shell. It's only a small download.

However, this fitted my needs. Please let me know any comments or improvements.

Update: You might also want to check out btrott's script which does the same thing but also stores the path. I didn't see this before I posted mine.
use Archive::Tar;
use Compress::Zlib;
use File::Find;

Syntax() unless @ARGV;

my $tar = Archive::Tar->new();

     find( { wanted => sub {    $tar->add_files($_);    } }, $ARGV[1])
+;

$tardata = $tar->write();

if ($ARGV[2]) {
    open (GZIP, ">" . $ARGV[0] . ".tar.gz");
    binmode(GZIP);
        my $gz = gzopen(\*GZIP, "wb");
        print $gz->gzwrite($tardata);
        $gz->gzclose();
    close(GZIP);
} else {
    my $tardata;
    open (TAR, ">" . $ARGV[0] . ".tar");
    print TAR $tardata;
    close (TAR);
}


sub Syntax {
    
print <<eof;

TAR and optionally GZIP a directory.
tar.pl [tar_name] [dir_2_tar] [GZIP]

e.g. tar.pl example /tmp/example 1
will produce example.tar.gz

eof
exit;
}

Comment on TAR.pl
Download Code
Re: TAR.pl
by $code or die (Deacon) on Apr 11, 2001 at 20:28 UTC
    Please note, that if you use this on anything public - PLEASE PLEASE think about using "perl -T" and untainting the user input. The only reason I don't have it in the code above is because I wrote this to do a specific thing and it was only going to be me that used it.

    $ perldoc perldoc

Back to Code Catacombs

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2015-07-05 10:39 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 (61 votes), past polls