Lingua::Romana::Perligata – Perl for the XXIimum Century (2017)
users.monash.edu
users.monash.edu
[0] https://web.archive.org/web/20010111052400/http://www.csse.m...
[1] https://metacpan.org/release/DCONWAY/Lingua-Romana-Perligata...
I'd also suggest giving the following modules a read:
https://metacpan.org/pod/Quantum::Superpositions
https://metacpan.org/pod/Acme::Bleach
https://metacpan.org/pod/Acme::Crap
https://metacpan.org/pod/Acme::Morse
Note the author block of the Acme projects. (1,$)g/re/command-list
Global command. The global command makes two passes over the file. On the first pass, all the addressed lines matching a regular expression re are marked. Then, going sequentially from the beginning of the file to the end of the file, the given command-list is executed for each marked line, with the current address set to the address of that line. Any line modified by the command-list is unmarked. The final value of the current address is the value assigned by the last command in the last command-list executed. If there were no matching lines, the current address is unchanged. The execution of command-list stops on the first error.
The command to print is: (.,.)p
Prints the addressed lines. The current address is set to the address of the last line printed.
And thus, `g/re/p` was the command to print all the lines in a file that matched a regular expression.grep predates the executable of the same name.
perl, as a "useful than shell for sufficiently large programs" brought with it a large amount of the "how you do things in shell, awk, and sed" - which included grep. To a programmer in 1988, porting their shell script from sh (bash wasn't released for another year) to perl - keeping the same executable names as functions made a lot of sense.
All that said, the keywords and jargon associated with particular programming languages are... well, jargon. It isn't meant to something easily understood but rather for two people who both know the same jargon a way of exchanging information more rapidly within a specific domain.
That 'grep' isn't as understandable today is because the older jargon is less used and the domain has fractured into a multitude of other languages (the jargon of JavaScript programmers is sometimes inscrutable to me as a Java developer).