Sorry about the top-posting, thanks Slowtus Bloats.
Anyway, WRT the versioning, I ended up using:
our $VERSION = qw ($Revision 1.02 $)[1];
use Inline
C => 'Config',
LIBS => '-llfcrypt',
VERSION => qw ($Revision 1.02 $)[1],
NAME => __PACKAGE__;
I need the first line to convince perl Makefile.PL that there is a valid
version.
I need the version information in the 'use' entry to keep Inline happy.
When I tried:
our $VERSION;
BEGIN {$VERSION=qw ($Revision 1.02 $)[1];}
use Inline
C => 'Config',
LIBS => '-llfcrypt',
VERSION => $VERSION,
NAME => __PACKAGE__;
perl Makefile.PL choked; it saw the our $VERSION; line, parsed it to undef and
barfed.
So, as long as I needed to repeat the version (once for MM, once for Inline) I
dispensed with the BEGIN.
--- Original Message ---
From: "Ken Williams" <[EMAIL PROTECTED]>
To: Matthew O. Persico <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wed, 16 Jun 2004 20:49:26 -0500
Subject: Re: Wow, it works - but still nits to pick
>
>�On Jun 16, 2004, at 7:51 PM, Matthew O. Persico wrote:
>>�I managed to get Inline::C to work OOTB with a local crypt
>>�library. I
>>�have a few questions/comments:
>>�1) I use $VERSION = qw($Revision 1.2$)[1] to generate my version
>>�numbers from the CVS version number. Why doesn't this expression
>>�work
>>�as the value of the VERSION argument to use Inline C =>.... For
>>�that
>>�matter, if I define
>>�our $VERSION �= qw($Revision 1.2$)[1];
>>�why can't I just stick that in Inline C VERSION?
>�You can. �But I'm guessing you're doing this:
>�our $VERSION = qw($Revision 1.2$)[1];
>�use Inline C =>�'DATA', VERSION =>�$VERSION, NAME =>�__PACKAGE__;
>�That doesn't work because the 'use' statement happens at compile
>�time,
>�and the 'our' statement assignment happens at runtime (too late).
>�You
>�can change to something like this, though:
>�our $VERSION;
>�BEGIN { $VERSION = qw($Revision 1.2$)[1]; }
>�use Inline C =>�'DATA', VERSION =>�$VERSION, NAME =>�__PACKAGE__;
>
>>�2) I tried hard-coding 1.2 as the valid id number, but Inline
>>�didn't
>>�like it. Why is the regexp for valid Inline Versions /\d.\d\d/?
>�Because it wants you to use 1.02 instead. �It's better when you go
>�from
>�1.09 to 1.10 than from 1.9 to 1.10.
>
>>�3) I know what I am doing and the module I am building is not
>>�going on
>>�CPAN. Is there any way to turn off the checks?
>�You still need versioning even for stuff that's not on CPAN. �It's a
>�good habit to get into. �I don't think there's any way to turn it
>�off.
>�-Ken
--
Matthew O. Persico