Re: Making numbers line up
- Hi Wheeler!
> I could not believe you forget so soon...Hey, I get lost driving home...so my wife does the grocery shopping!
> Anyway, here is my version...Looks good, I had to study the regexp helpdocs to discern what you
had done there, but I get it. And it works fine.
The problem (?) is, after adding timer and line counter code for the
spiffy Info box display, any extra NL are counted which gives wrong
result. Also The clip runs 25sec on 1000 lines test.
^!If ^%Counted%=0 NEXT else START
to the non-regexp version (previous) to test. Deletes all NL at end,
and runs 1000 lines in 21sec without a hiccup (using same RightMargin
(...you see, 4sec is just enough time for me to forget something
- 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'sThanks for the memory jog!
> >'inconsistency' You would think it would work the same as ^$GetDocName$.
> >Actually I never bother using "^**" and always use ^$GetDocName$
>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....
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.