use constant FORMATS=>{
"rpm" =>'rpm2cpio $pathname|cpio -id --quiet', #-v #FIXME: --sparse doesn't work, why?
"zip" =>'unzip -Lq $pathname',
+ "jar" =>'unzip -Lq $pathname',
"a" =>'ar x $pathname',
"deb" =>'ar x $pathname;'
.'for i in *.tar.gz;do j=`basename $i .tar.gz`;mkdir -p $j;cd $j;tar xzf ../$i;cd ..;rm -f $i;done',
"tar.bz2"=>do { $_=FORMAT_TAR; s/xf/xjf/; $_; },
"tar.bz" =>"tar.bz2",
"tbz" =>"tar.bz",
+ "msi" =>'cabextract -q $pathname',
};
die "Syntax: $0 <pathname((".join("|",map(".$_",sort keys %{+FORMATS})).")|=<ext>)>..."