http://www.perlmonks.org?node_id=281982


in reply to Re: Forks.pm dilemma
in thread Forks.pm dilemma

PERL_VER = `perl -e 'print $['`

I assume you mean:

PERL_VER = `$^X -e 'print $]'`
as you cannot be sure the Makefile.PL is called by "perl". And note it should be $] rather than $[

Actually, if I would have to resort to that, it would probably be easier to not define a macro for 5.6.x, and define a macro with the the PROTOTYPE: string for all other versions.

Liz

Update:
While investigating something about $[, I realized there was an error in this node. So I changed $[ to $] where appropriate and added a comment.

Replies are listed 'Best First'.
Re: Re: Re: Forks.pm dilemma
by Kageneko (Scribe) on Aug 07, 2003 at 18:14 UTC
    That's exactly what I meant ;) I wonder if the xsubpp maintainer (is there one?) can be convinced to allow a pre-processing option, similar to 'perl -P'.
      Here is a patch which adds preliminary pre-processor support to xsubpp. There's a few caveats. #line will now be incorrect, since the #includes now occur BEFORE xsubpp gets to them (I wonder if there's a way to disable those directives). As soon as I get better testing done, I'll send this in to whoever is supposed to see it. To invoke, use xsubpp -preprocess blah
      *** xsubpp.old Fri Aug 8 13:18:20 2003 --- xsubpp Fri Aug 8 13:13:23 2003 *************** *** 164,169 **** --- 164,170 ---- $process_inout = 1, next SWITCH if $flag eq 'inout'; $process_argtypes = 0, next SWITCH if $flag eq 'noargtype +s'; $process_argtypes = 1, next SWITCH if $flag eq 'argtypes' +; + $preprocess = 1, next SWITCH if $flag eq 'preprocess'; (print "xsubpp version $XSUBPP_version\n"), exit if $flag eq 'v'; die $usage; *************** *** 883,889 **** $text; } ! open($FH, $filename) or die "cannot open $filename: $!\n"; # Identify the version of xsubpp used print <<EOM ; --- 884,895 ---- $text; } ! if ( $preprocess ) { ! open($FH, "$Config{cpp} $filename |") ! or die "cannot open $Config{cpp} $filename: $!\n"; ! } else { ! open($FH, $filename) or die "cannot open $filename: $!\n"; ! }