for
(
my
(
$j
,
$i
) = (-1, 0);
$i
<
@ARGV
;
$i
++) {
if
(
$ARGV
[
$i
] eq
'-out'
) {
if
(
$i
==
$#ARGV
) {
croak
"-out requires an argument"
;
}
$OUT
[
$j
] =
$ARGV
[++
$i
];
}
else
{
$IN
[++
$j
] =
$ARGV
[
$i
];
}
}
for
(
my
$i
;
$i
<
@IN
;
$i
++) {
if
(-d
$IN
[
$i
]) {
my
$d
=
$IN
[
$i
];
my
@pox
=
glob
(
"$d/*.pox"
);
splice
(
@IN
,
$i
,
$i
+1 -
@IN
|| 1,
@pox
);
splice
(
@OUT
,
$i
,
$i
+1 -
@OUT
|| 1,
map
{m,
$d
/(.*)\.pox,;
$OUT
[
$i
] ?
"$OUT[$i]/$1.$OUT_EXT"
:
"$1.$OUT_EXT"
}
@pox
);
$i
+=
@pox
;
}
elsif
(!
$OUT
[
$i
]) {
$OUT
[
$i
] =
$IN
[
$i
];
$OUT
[
$i
] =~ s/([^.])(?:\..*$|$)/$1.
$OUT_EXT
/;
if
(
$IN
[
$i
] eq
$OUT
[
$i
]) {
if
(
$IN
[
$i
] =~ /\.html$/) {
croak
"Filename ends in .$OUT_EXT: [$IN[$i]]"
;
}
else
{
$OUT
[
$i
] .=
".$OUT_EXT"
;
}
}
}
}
1;