#!/usr/bin/perl
my
$path_splitter
=
$ENV
{PATH} =~ /;/ ?
qr/[;]/
:
qr/[:]/
;
my
@paths
=
split
/
$path_splitter
/,
$ENV
[PATH];
my
$make
= executable(
'make'
);
my
$cpanm
= executable(
'cpanm'
);
my
$wget
= executable(
'wget'
);
my
$curl
= executable(
'curl'
);
my
$sudo
= executable(
'sudo'
) ||
''
;
if
(
$make
) {
exec
$cpanm
?
"$sudo $cpanm ."
:
"perl Makefile.PL; make; make install"
;
}
else
{
my
(
$local
) =
grep
{
$_
eq
"$ENV{HOME}/bin"
}
@path
;
if
(
$local
) {
mkdir
$local
if
!-d
$local
;
File::Copy->
import
(
'copy'
);
opendir
my
$dirh
,
"$Bin/bin"
;
my
@bin
=
grep
{/^git/}
readdir
$dirh
;
for
my
$file
(
@bin
) {
copy(
"$Bin/bin/$file"
,
"$local/$file"
);
}
}
}
sub
executable {
my
(
$program
) =
@_
;
for
my
$dir
(
@paths
) {
next
if
!-e
"$dir/$program"
;
return
"$dir/$program"
;
}
return
;
}