Hab mich nicht eingehend mit
Archive::Rar befasst, aber ich finde keine Option, wie/dass man ein Password angeben kann.
Aber wenn das "nur ein Wrapper" um ein System-"unrar" ist, könnte man etwas ähnliches auch selber stricken:
Hier ein unvollständiger Schnellschuß, ungetestet und ohne Gewähr:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
my %cmd = (
unrar => '/path/to/unrar',
);
my %opts = (
unrar => [ 'x' ],
);
sub unrar {
my $archive = shift;
my $pass = shift;
if ( !exists $cmd{unrar} ) {
die "No path to unrar is defined in \%cmd\n";
}
elsif ( not -x $cmd{unrar} ) {
die "$cmd{unrar} is not executable\n";
}
my @cmd = (
$cmd{unrar},
( $opts{unrar} ? @{$opts{unrar}} : () ),
( defined $pass ? "-p$pass" : ()),
$archive
);
return system(@cmd);
}
chdir($where_to_store_archive_content) or die "chdir failed: $!\n";
unrar( $archive_path, $password ) or die "unrar failed for '$archive' : $!\n";
Last edited: 2013-02-11 21:49:19 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!