my %XS = do { local *ARGV; @ARGV = 'MANIFEST'; map { chomp; my $f = $_; s!\.xs$!\.c!; $f => $_; } grep /\.xs$/, <>; }; WriteMakefile( 'XS' => \%XS, ...