require
5.006;
my
$old
=
'forks.xs'
;
my
$new
=
"$old.new"
;;
my
$from
=
qq{# PROTOTYPE: \\[\$\@\%]\n}
;
my
$to
=
qq{ PROTOTYPE: \\[\$\@\%]\n}
;
my
@extra_prereq
;
if
($] < 5.008) {
(
$from
,
$to
) = (
$to
,
$from
);
push
@extra_prereq
,
qw(Filter::Util::Call 0)
;
}
warn
"Fixing prototypes in $old\n"
;
open
my
$in
,
'<'
,
$old
or
die
"Could not open $old: $!\n"
;;
open
my
$out
,
'>'
,
$new
or
die
"Could not create $new: $!\n"
;;
while
(<
$in
>) {
print
$out
$_
eq
$from
?
$to
:
$_
;
}
close
$out
or
die
"Could not close $new: $!\n"
;
close
$in
or
die
"Could not close $old: $!\n"
;
chmod
0644,
$old
or
die
"Could not change permissions on $old\n"
;
unlink
$old
or
die
"Could not remove $old\n"
;
rename
$new
,
$old
or
die
"Could not rename $new to $old\n"
;
chmod
0444,
$old
or
die
"Could not change permissions on $old\n"
;
WriteMakefile (
NAME
=>
"forks"
,
AUTHOR
=>
'Elizabeth Mattijsen (liz@dijkmat.nl)'
,
ABSTRACT
=>
'forks - simulate threads with fork'
,
VERSION_FROM
=>
'lib/forks.pm'
,
PREREQ_PM
=> {
@extra_prereq
,
qw(
Test::More 0
Scalar::Util 1.01
Storable 0
load 0.11
)
},
);