mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-05-28 15:34:46 +00:00
33 lines
691 B
Perl
Executable File
33 lines
691 B
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
my %opts;
|
|
my @args;
|
|
{
|
|
my $opts = 1;
|
|
foreach (@ARGV) {
|
|
if ($opts) {
|
|
$opts = 0 if /^--$/;
|
|
$opts{$1} = $2 if /^-([a-zA-Z])(.+)$/;
|
|
} else {
|
|
push (@args, $_);
|
|
}
|
|
}
|
|
}
|
|
|
|
my $mode = $opts{'M'};
|
|
if ($mode eq 'redirect') {
|
|
my $stdout = $opts{'o'} || die "No -o";
|
|
my $stderr = $opts{'O'} || die "No -O";
|
|
open (STDOUT, ">$stdout") || die "Could not redirect STDOUT to $stdout: $!";
|
|
open (STDERR, ">$stderr") || die "Could not redirect STDERR to $stderr: $!";
|
|
|
|
select STDERR; $| = 1;
|
|
select STDOUT; $| = 1;
|
|
|
|
exec { $args[0] } @args;
|
|
die "Could not exec " . join(' ', @args) . ": $!";
|
|
}
|
|
else {
|
|
die "Unknown mode: $mode\n";
|
|
}
|