Loading ...
Sorry, an error occurred while loading the content.

Re: Problems capturing STDERROR

Expand Messages
  • wheeler54321@yahoo.com
    ... display it in a prompt box? Hi Jason! Use ^$GetDosOutput$: ^$GetDosOutput( perl -c ^** )$ ^!Info ^$GetFileText( ^$GetAppPath$StdError.err )$ I know this
    Message 1 of 31 , Apr 1, 2001
    • 0 Attachment
      > ^$GetOutput("perl -c ^**")$
      > ^!Open ^$GetAppPath$StdError.err

      > And further to this... how about a way to caputer STDERROR and
      display it in a prompt box?

      Hi Jason!

      Use ^$GetDosOutput$:

      ^$GetDosOutput("perl -c ^**")$
      ^!Info ^$GetFileText("^$GetAppPath$StdError.err")$

      I know this work on Win98 SE, I just can't get it to work on WinMe.

      Good Luck!

      wheeler
    • Phillip S. Buckland, Jr.
      ... Thanks for the memory jog! I experienced the buffering problem when porting PERL scripts from Unix to MS-DOS several years ago (Perl 4, so the details have
      Message 31 of 31 , Apr 5, 2001
      • 0 Attachment
        At 10:20 PM 4/4/01, Jason Waugh wrote:
        > >I don't know the intricacies of using ^** you might have a point about it's
        > >'inconsistency' You would think it would work the same as ^$GetDocName$.
        > >Actually I never bother using "^**" and always use ^$GetDocName$
        > >instead.
        >
        >Well, it's not so much an inconsistency with ^** as it is an inconsistency
        >in the way NoteTab and Perl are working together with respect to
        >STDERR. Maybe Perl isn't flushing before NoteTab thinks it's done
        >capturing STDERR? Maybe the NoteTab parser occasionally chokes on parsing
        >^**? This would result in the two different error messages appearing on
        >different tries with the same script....

        Thanks for the memory jog!

        I experienced the buffering problem when porting PERL scripts from Unix to
        MS-DOS several years ago (Perl 4, so the details have changed about
        avoiding the problem since I wrote those scripts). I recall needing to
        either disable buffering, or set it to line buffering (from block
        buffering) to make the problem go away.

        Find a Perl reference (here's one I have: "Programming Perl", second
        edition, by Larry Wall, Tom Christiansen & Randal L. Schwartz, published by
        O'Reilly, copyright 1996) and look for information on the "$|"
        variable. It allows you to set output filehandles to block buffering
        (default) or line buffering (which is needed for Perl with NoteTab, since
        it runs as a DOS program).

        Hope this is helpful.
      Your message has been successfully submitted and would be delivered to recipients shortly.