Thanks for the bug report. I'll look into it.
Cheers, Brian
On 20/04/02 15:18 -0400, Kwindla Hultman Kramer wrote:
>
> Hi,
>
> We found a small Inline wierdness, today. It's not a bug, and it
> doesn't affect any "normal" code. But it's probably worth knowing
> about...
>
> It looks like Inline sets the global variable $_ to a string that
> looks something like:
>
> " version : 5.6.1"
>
> when it loads and checks its cached Config file.
>
> Here's some code that demonstrates this behavior.
>
> use Inline C;
> greet('Ingy');
> greet(42);
> print "$_\n";
> __END__
> __C__
> void greet(char* name) {
> printf("Hello %s!\n", name);
> }
>
> Running this snippet (which is example #1 in the C Cookbook, plus the
> line to print out $_), looks like this:
>
> [khk: khkramer]$ perl test.pl
> Hello Ingy!
> Hello 42!
> version : 5.6.1
>
> We found this behavior while trying to diagnose some (unrelated) $_
> strangeness in a bit of our code. Eventually boiling our test snippet
> down to:
>
> use XML::Comma;
> print "$_\n";
>
> Commenting out the 'use XML::Comma' returns "$_" to its natural,
> undefined state. XML::Comma is usually configured to load some modules
> that depend on Inline::C, so code that uses XML::Comma sees the
> version-string behavior.
>
> I'm not sure why, exactly, the assignment to $_ happens. But it looks
> like line 627 of Inline.pm (version 0.43) might be where it does.
>
> Kwin