in reply to Re: Windows Device Tree
in thread Windows Device Tree

$^E is easier to use than Win32::GetLastError().

- tye        

Replies are listed 'Best First'.
Re^3: Windows Device Tree ($^E)
by BrowserUk (Patriarch) on Aug 28, 2006 at 17:52 UTC

    I've never been 100% sure whether referencing $^E, (which I always use myself), is effectively a synchronous call to GetLastError(), or whether it ($^E) only get's set if the XS code arranges to do so? Hence my reluctance to recommend $^E to others directly.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      The "get magic" on $^E is simply GetLastError() along with building a string out of the number returned.

      But there is a problem with XS modules not arranging for $^E to be set, but that is because several XS modules use API(s) that return a failure code and the XS code fails to call SetLastError(), which means that calling Win32::GetLastError() doesn't get around such problems anyway.

      - tye