Skip Menu |

This queue is for tickets about the Audio-Wav CPAN distribution.

Report information
The Basics
Id: 101038
Status: new
Priority: 0/
Queue: Audio-Wav

People
Owner: Nobody in particular
Requestors: BitCard.9.OkianWarrior [...] SpamGourmet.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.14
Fixed in: (no value)



Subject: Test for Inline::C fails in Win32 distribution
Line 28 in the module tests if Inline::C is available and working. This test fails on Win32 systems due to over-escaping the $@ variable. The existing line, which does not work on Win32: my $inline_c_ok = `$path -e "require Inline::C; eval { Inline->import(C => q[int foo() { return 0; }]) }; print \\\$\@ ? 0 : 1"`; This line does work on Win32 systems (note difference in $@ variable escapement): my $inline_c_ok = `$path -e "require Inline::C; eval { Inline->import(C => q[int foo() { return 0; }]) }; print \$\@ ? 0 : 1"`; Perhaps the phrase should be replaced by an OS-specific variable, as in: my $Result = ($osname eq 'MSWin32') ? "\$\@" : "\\\$\@"; my $inline_c_ok = ... $Result ...;
From: BitCard.9.OkianWarrior [...] SpamGourmet.com
Update: Using \$\@ as previously suggested causes the tests to succeed, but then using the package will fail. Using \$@ causes both tests and usage to succeed. For Win32 systems, Line 28 should be: my $inline_c_ok = `$path -e "require Inline::C; eval { Inline->import(C => q[int foo() { return 0; }]) }; print \$@ ? 0 : 1"`; (Probably should use different phrases for different OS's)