Thanks a lot for the detailed summary. > > > 1. Observed that the programming paradigm is simply a tool for solving > engineering problems. So, engineering problem is the key focus point, not > the programming paradigm. > > So easy to get lost in the programming paradigm than focus on what you actually need to solve.
Missed the event but will make it today' s event. Regards, On Sat, Aug 7, 2021 at 10:56 PM Deepak Kumar <[email protected]> wrote: > Greetings. If any one needs meeting summary, below is. > > Thanks *@saifi* for driving this. > @all Pardon me if anything is missing/change needed. Please add as reply > > *Topic heading *Own the Shell with PERL > > *Session highlights* > > 1. Went through journey from Shell programming to Perl programming > 2. Had brief discussion around shell > 3. Learned on Perl language powers in detail > 4. Learned how to leverage shell concepts in Perl > 5. Observed that the programming paradigm is simply a tool for solving > engineering problems. So, engineering problem is the key focus point, not > the programming paradigm. > > > *Summary* > > *Shell* > > - Learned fundamental purpose of shell > - Pattern matching > - Scoping > - Evolution of Shell was explained > - Learned extended usage of ~ (tilda) > - About bashrc purpose and hands-on for writing a script for checking > its presence > - Cat /etc/shells gives list of shell available in the platform > - Useful ENV touched > - PATH > - LD_LIBRARY_PATH > - Useful command touched > - /usr/bin/env > - Difference between [] and [[ ]] > - Both are functionally same but the interoperability as [[ ]] is > posix compliant > > *Perl* > > - Journey from shell to perl > - Perl allows to select specific version for the program at hand. > - This makes perl backward compatible and so promotes > *portability.* > - Perl is highly portable compared to any other programming language > - Perl has a core list of modules which is a must for any perl module > (since it is needed by perl interpreter). This can be listed via *corelist > *command > - Basic commands touched > - *Corelist* command pupose -> to list all available version of > perl core module > - *Perl -v* > - *perl -V* > - Compile-time options > - *PERLIO_LAYERS* => Create multiple layers of IO > - *USE_REENTRANT_API* -> For multithread PERL > - Hands-on for creation of a new module at custom path > - *PERL5LIB* env variable is used for custom path > - *Package* keyword is used in the file for defining module > - Perl has a API namely *system *which is used to run shell command > as it is. It also allows to pass parameters > - Debugging > - PERL displays possible reason of errors which is helpful in > debugging > - Perl debugger is powerful *Perl -d *is used for trigger debugging > and it supports following debugging features > - Step over/through > - Run > - breakpoint > - Possible to print exception > - Perdoc is similar to manpage > - perdoc -f system > - Man page for system module > - Perl has option to use pipe(|) of shell command. *open* API can > use pipe > > > *Others* > > - Open vs fopen > > > - Open is unbuffered, fopen is buffered IO > > > - Programming paradigm vs engineering > - Programming paradigm is a tool for solving engineering problem > > -- Kasinadhuni Girija Kumar Raghava "How far that little candle throws its beams So shines a good deed in a naughty world"

