#!/usr/local/bin/perl
# 
# exparc: Archive Expander （ディレクトリ下にアーカイブを展開する）
# 
#     [1996/12/09] OSHIRO Naoki.
# 
#     $Log:$
#

$arc=$ARGV[0];
$dir=$arc;
$dir=~s/\.tar(\.(gz|Z|z))$|\.tgz$//;

die "exparc: Not archive file type '$arc'.\n" unless ($arc=~/\.tar(\.(gz|Z|z))$|\.tgz$/);

$z="z" if ($arc=~/\.(gz|Z|z)$|\.tgz$/);
open(F, "gtar tv${z}f $arc |");

$_=<F>; chop;
s#.*\s([^\s]+$)#$1#;
s#^([^/]+)/.*#$1#;
$pre=$_;
$ng=0;
while (<F>) {
    chop;
    s#.*\s([^\s]+$)#$1#;
    s#^([^/]+)/.*#$1#;
    $ng=1 if ($pre ne $_);
}
$ng=1 if ($ng!=1 && ($pre ne $dir));

print "Expand directory: '$dir'.\n";
if ($ng==1) {
    system("mkdir $dir; cd $dir; gtar xv${z}f ../$arc");
} else {
    system("gtar xv${z}f $arc");
}

# major-mode: perl
