using Inline-0.44 and perl, v5.9.3 DEVEL24148
  Built under linux Compiled at Sep 26 2005 14:21:20

Inline's make test was croaking in
 Inline::check_config_file

My tests seem to indicate that compiling the line that checks for
   defined %main::Inline::Config::
caused the symbol to exist.    (see how the test case file q.t
causes %main::Inline::Config:: to be added to the symbol
table after the eval.
(This also shows that the "exists" check
  doesn't modify the symbol table, and
  it does catch when the symbol is in the table)

$ perl q.t
defined at (eval 1) line 1.
exists 2 at q.t line 3.
$ cat q.t
warn "exists 1" if exists $main::Inline::{'Config::'};
eval " warn 'defined' if defined %main::Inline::Config::;";
warn "exists 2" if exists $main::Inline::{'Config::'};




--- Inline.pm.orig      Sun Oct 27 23:25:19 2002
+++ Inline.pm   Mon Oct  3 12:41:02 2005
@@ -661,13 +661,13 @@
 # whether the Language code is valid or not.
 #==============================================================================
 sub check_config_file {
     my ($DIRECTORY, %config);
     my $o = shift;

-    croak M14_usage_Config() if defined %main::Inline::Config::;
+    croak M14_usage_Config() if exists $main::Inline::{'Config::'};
     croak M63_no_source($o->{API}{pkg})
       if $o->{INLINE}{md5} eq $o->{API}{code};

     # First make sure we have the DIRECTORY
     if ($o->{CONFIG}{_INSTALL_}) {
        croak M15_usage_install_directory()



Reply via email to