[Info-vax] Text processing on VMS
Arne Vajhøj
arne at vajhoej.dk
Sun Oct 13 20:14:21 EDT 2024
On 10/13/2024 6:24 PM, Craig A. Berry wrote:
> On 10/13/24 2:26 PM, Arne Vajhøj wrote:
>> But in a relevant script language then it should be a one statement
>> problem (although in most cases splitting that one statement over
>> multiple lines is a good thing for readability).
>>
>> import java.nio.file.*
>>
>> Files.lines(Paths.get("login.com"))
>> .filter(line -> line.contains("java"))
>> .map(line -> line[2..12])
>> .forEach(System.out::println)
>>
>> output pos 2..12 (pos is 0 based!) from all lines of login.com
>> that contains "java".
>
> Opening an editor, typing all that in, running the java compiler, and
> then running the compiled program all seems like a lot of work to me
> when all you need to do is:
>
> $ perl -nE "say substr($_, 2, 12) if $_ =~ m/java/i;" < login.com
It is not Java but Groovy, so compile is optional.
And groovysh does have an -e for evaluating code given in command line
(it is just rarely used).
But you are absolutely right: Perl code is shorter than Groovy code.
Arne
More information about the Info-vax
mailing list