in reply to Re^2: Win32::TieRegistry Error (or is it me?) (leads)
in thread Win32::TieRegistry Error (or is it me?)

Okay, that makes it look like Win32::WinError got changed. What does this produce?

perl -MWin32::WinError -le"print Win32::WinError::constant("ERROR_NO_M +ORE_ITEMS",0)" perl -MWin32::WinError=999 -e0

- tye        

Replies are listed 'Best First'.
Re^4: Win32::TieRegistry Error (or is it me?) (leads)
by ChrisR (Hermit) on Sep 27, 2005 at 03:11 UTC
    perl -MWin32::WinError -le"print Win32::WinError::constant("ERROR_NO_M +ORE_ITEMS",0)"
    Prints 0
    perl -MWin32::WinError=999 -e0
    Prints nothing.

      That looks very broken. Can you investigate Win32::WinError? What changed about it? For example:

      perl -MWin32::WinError -le"print for $INC{'Win32/WinError.pm'}, $Win32 +::WinError::VERSION"

      In the mean time, you can edit TieRegistry.pm to make it no longer rely on Win32::WinError:

      #if( eval { require Win32::WinError } ) { # $_NoMoreItems= Win32::WinError::constant("ERROR_NO_MORE_ITEMS",0) +; # $_FileNotFound= Win32::WinError::constant("ERROR_FILE_NOT_FOUND", +0); # $_TooSmall= Win32::WinError::constant("ERROR_INSUFFICIENT_BUFFER" +,0); # $_MoreData= Win32::WinError::constant("ERROR_MORE_DATA",0); #} else { $_NoMoreItems= "^No more data"; $_FileNotFound= "cannot find the file"; $_TooSmall= " data area passed to "; $_MoreData= "^more data is avail"; #}

      Comment out those lines as shown above.

      - tye        

        tye,
        Thanks for the workaround. I'll do some investigating on Win32::Error tomorrow and let you know what I find. But now that

        UT won over LSU 30-27 in overtime!

        I'm off to dream land.

        Thanks again,
        Chris

        perl -MWin32::WinError -le"print for $INC{'Win32/WinError.pm'}, $Win32 +::WinError::VERSION"
        Prints:
        C:/Perl/site/lib/Win32/WinError.pm 0.02
        The file date of WinError.pm on my machine is Tuesday, April 13, 2004. I don't know if it helps but I'm running activestate perl 5.6.1 Build 638 (MSWin32-x86-multi-thread) under komodo 3.1. Here is the contents of WinError.pm

        I must apologize for my ignorance on this subject but I haven't done much digging below the surface in perl.