Leser: 20
1
2
my $tar = Archive::Tar->new('meineDaten.TAR');
$tar->extract(); #Alle Files werden in dem gleichen Verz.(wo die TAR-Datei liegt) ausgepackt!!
1 2
$tar->extract_file( 'a.lib', 'D:/lib1/a.lib' ); $tar->extract_file( 'b.lib', 'D:/lib2/b.lib' );
$tar->extract_file( 'a.lib', 'D:/lib1/a.lib' );
2009-10-08T08:45:32 PETER_PAN2009Hallo Renee!
Erstmal Danke, ich habe aber die Problematik, dass wenn ich nur 'a.lib' eingebe, findet er die Datei garnicht! Ich muss also den vollständigen Pfad der in der dem TAR-Archive gespeichert ist eingeben!
Meine Frage: Wie kriege ich diesen Pfad raus?
2009-10-08T08:45:32 PETER_PAN2009Zweite Sache: wenn ichbenutze, wird in D:/lib1 ein zusätzliches Verzeichniss(a.lib) erstellt, indem danach die a.lib abgelegt wird. Er soll die a.lib direkt in lib1 ablegen, hast du ne Idee??Code: (dl )$tar->extract_file( 'a.lib', 'D:/lib1/a.lib' );
$tar->extract_file( 'a.lib', 'D:/lib1' );
QuoteDas zweite Argument von extract_file() ist der Zielpfad, demnach müsste das folgendermaßen aussehen:
Code (perl):
$tar->extract_file( 'a.lib', 'D:/lib1' );
Quotelaut CPANs Archive-Tar bei extract_file$tar->extract_file( $file, [$extract_path] )
Write an entry, whose name is equivalent to the file name provided to disk. Optionally takes a second parameter, which is the full native path (including filename) the entry will be written to.
1 2 3 4
use Archive::Tar; my $tar=Archive::Tar->new; $tar->read('test.tar') or die $!; $tar->extract_file("az.text","X:/tmp/zzz/k") or die $!;
2009-10-08T08:53:10 TaulmarillNein, das zweite Argument ist Pfad und Dateiname laut Doku und Perl-Source!Das zweite Argument von extract_file() ist der Zielpfad, demnach müsste das folgendermaßen aussehen:
Code (perl): (dl )$tar->extract_file( 'a.lib', 'D:/lib1' );
$tar->extract_file("D:/tmp/a.lib", "D:/tmp/a.lib");
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten. C:\USR\Perl587\bin\perl.exe -MExtUtils::Command -e cp bin/ptardiff blib\script\ptardiff pl2bat.bat blib\script\ptardiff C:\USR\Perl587\bin\perl.exe -MExtUtils::Command -e cp bin/ptar blib\script\ptar pl2bat.bat blib\script\ptar Installing C:\USR\Perl587\site\lib\Archive\Tar.pm Installing C:\USR\Perl587\site\lib\Archive\Tar\Constant.pm Installing C:\USR\Perl587\site\lib\Archive\Tar\File.pm Installing C:\USR\Perl587\bin\ptar Installing C:\USR\Perl587\bin\ptar.bat Installing C:\USR\Perl587\bin\ptardiff Installing C:\USR\Perl587\bin\ptardiff.bat Appending installation info to C:\USR\Perl587\lib/perllocal.pod
1 2 3 4 5 6 7 8
Can't locate Package/Constants.pm in @INC (@INC contains: C:/USR/Perl587/lib C:/USR/Perl587/site/lib BEGIN failed--compilation aborted at C:/USR/Perl587/site/lib/Archive/Tar/Constant.pm line 12. Compilation failed in require at C:/USR/Perl587/site/lib/Archive/Tar/File.pm line 12. BEGIN failed--compilation aborted at C:/USR/Perl587/site/lib/Archive/Tar/File.pm line 12. Compilation failed in require at C:/USR/Perl587/site/lib/Archive/Tar.pm line 18. BEGIN failed--compilation aborted at C:/USR/Perl587/site/lib/Archive/Tar.pm line 18. Compilation failed in require at bla.pl line 6. BEGIN failed--compilation aborted at bla.pl line 6.