27 lines
438 B
Perl
27 lines
438 B
Perl
#! /usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Getopt::Std;
|
|
|
|
my %opts;
|
|
getopts('bCcDdpSsB:f:g:m:o:', \%opts);
|
|
|
|
for my $s (qw(b C c D d p S s)) {
|
|
if ($opts{$s}) {
|
|
unshift(@ARGV, "-$s");
|
|
}
|
|
}
|
|
|
|
if ($opts{m}) {
|
|
my $mode = $opts{m};
|
|
if ($mode eq '444' || $mode eq '0444') {
|
|
$mode = '644';
|
|
} elsif ($mode eq '555' || $mode eq '0555') {
|
|
$mode = '755';
|
|
}
|
|
unshift(@ARGV, '-m', $mode);
|
|
}
|
|
|
|
exec {'/usr/bin/install'} ('install', @ARGV);
|