[Info-vax] Text processing on VMS

Arne Vajhøj arne at vajhoej.dk
Mon Oct 14 09:56:04 EDT 2024


On 10/14/2024 8:30 AM, Simon Clubley wrote:
> On 2024-10-13, Arne Vajhøj <arne at vajhoej.dk> wrote:
>> On 10/13/2024 3:26 PM, Arne Vajhøj wrote:
>>> On 10/13/2024 2:57 PM, Dave Froble wrote:
>>>> Using SEARCH and then a simple Basic program is not that much work.
>>>>
>>>> For example:
>>>>
>>>> SEARCH File1.txt "some text" /output=File2.txt
>>>>
>>>> 1    On Error Goto 90
>>>>
>>>> 10    Open "file2" For Input as File 1%
>>>>       Open "File2" For Output as File 2%
>>>>
>>>> 20    Linput #1%, Z$
>>>>       Print #2%, Mid(Z$,?,?)
>>>>       Goto 20
>>>>
>>>> 90    GoTo 99 If ERR=11
>>>>       On Error GoTo 0
>>>>
>>>> 99    End
>>>>
>>>> Simple
>>>> No having to know whatever is your favorite utility
>>>> I seriously doubt there would be much fewer characters
>>>>
>>>> No, I didn't try it ...
>>>
>>> I have confidence in your VMS Basic skills.
>>
>> But I am curious about how you iterate over the file.
>>
>> Are there any benefits from this way compared to:
>>
>> handler eof_handler
>> end handler
>> when error use eof_handler
>>       while 1 = 1
>>           get #1
>>           ! do whatever
>>       next
>> end when
>>
> 
> That's how a Pascal programmer would write it. David however clearly
> prefers Dartmouth Basic. :-)
> 
> BTW, I think your approach is a lot more readable than David's style. :-)

But I have not come up with that construct. I must have gotten
it from somewhere. Just not sure where.

BTW, I think it would be nice if the compiler wizard added
either:

while not eof #1
     get #1
     ' do whatever
next

or:

while true
     get #1, eof=100
     ' do whatever
next
100:

Arne






More information about the Info-vax mailing list