From: Charles McGarvey Date: Fri, 8 Jun 2018 05:49:43 +0000 (-0600) Subject: reorder shellpod X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=d6d90e81bce86801aa4c8230201aaa737cee9a2b;p=chaz%2Ftalk-level-up-your-perl reorder shellpod --- diff --git a/css/slides.css b/css/slides.css index 2c8f3ca..6ba8dc1 100644 --- a/css/slides.css +++ b/css/slides.css @@ -22,7 +22,7 @@ } .ex-shellpod .bash { - font-size: 22px; + font-size: 28px; } .ex-boilerplate .perl { diff --git a/notes.txt b/notes.txt index e0f8673..2123a5f 100644 --- a/notes.txt +++ b/notes.txt @@ -10,10 +10,10 @@ Ground rules: I Use CPAN. X Use B::Deparse. https://metacpan.org/pod/B::Deparse -X Document your shell scripts with pod. X Know regular expressions. X Use Regexp::Debugger. https://metacpan.org/pod/Regexp::Debugger X Write vim plugins in Perl. +X Document your shell scripts with pod. X Understand calling context. X Understand execution phases. X Understand when to be terse and when to be verbose diff --git a/slides.html b/slides.html index 4f97d8d..004c261 100644 --- a/slides.html +++ b/slides.html @@ -60,98 +60,6 @@ Deparse supports other flags that may be useful. Read the pod to find out more. Aside: Be careful about mixing high and low-precedence logical operators. ---- -class: ex-shellpod - -## Document your shell scripts with pod. - -```bash -#!/bin/sh - -: <<'=cut' -=head1 NAME - -therapist.sh - This script can save you a bunch of cash - -=cut - -echo 'Hello. Now, tell me about your problems.' - -while read response -do - printf "Patient said: %s" "$response" >>therapist_notes.txt - - echo 'And how did that make you feel?' -done - -echo "Goodbye! Let's meet again in two weeks." -``` - ---- -class: ex-shellpod - -## Document your shell scripts with pod. - -```bash -#!/bin/sh - -: <<'=cut' -*=head1 NAME -* -*therapist.sh - This script can save you a bunch of cash -* -*=cut - -echo 'Hello. Now, tell me about your problems.' - -while read response -do - printf "Patient said: %s" "$response" >>therapist_notes.txt - - echo 'And how did that make you feel?' -done - -echo "Goodbye! Let's meet again in two weeks." -``` - -??? -It's pod! In a shell script. - ---- -class: ex-shellpod - -## Document your shell scripts with pod. - -```bash -#!/bin/sh - -*: <<'=cut' -=head1 NAME - -therapist.sh - This script can save you a bunch of cash - -=cut - -echo 'Hello. Now, tell me about your problems.' - -while read response -do - printf "Patient said: %s" "$response" >>therapist_notes.txt - - echo 'And how did that make you feel?' -done - -echo "Goodbye! Let's meet again in two weeks." -``` - -??? -This is the key right here. Anybody know what this is? - -It's a heredoc. - -The colon command in bourne shell is just noop. Sometimes you'll see the colon used as a type of comment, but unlike -a comment the shell does parse the arguments to colon. - --- class: center, middle @@ -465,6 +373,97 @@ By the way, Vim supports embedded interpreters for other languages like Python, --- class: center, middle +## Document your shell scripts with pod. + +--- +class: ex-shellpod + +```bash +#!/bin/sh + +: <<'=cut' +=head1 NAME + +therapist.sh - This script can save you a bunch of cash + +=cut + +echo 'Hello. Now, tell me about your problems.' + +while read response +do + printf "Patient said: %s" "$response" >>therapist_notes.txt + + echo 'And how did that make you feel?' +done + +echo "Goodbye! Let's meet again in two weeks." +``` + +--- +class: ex-shellpod + +```bash +#!/bin/sh + +: <<'=cut' +*=head1 NAME +* +*therapist.sh - This script can save you a bunch of cash +* +*=cut + +echo 'Hello. Now, tell me about your problems.' + +while read response +do + printf "Patient said: %s" "$response" >>therapist_notes.txt + + echo 'And how did that make you feel?' +done + +echo "Goodbye! Let's meet again in two weeks." +``` + +??? +It's pod! In a shell script. + +--- +class: ex-shellpod + +```bash +#!/bin/sh + +*: <<'=cut' +=head1 NAME + +therapist.sh - This script can save you a bunch of cash + +=cut + +echo 'Hello. Now, tell me about your problems.' + +while read response +do + printf "Patient said: %s" "$response" >>therapist_notes.txt + + echo 'And how did that make you feel?' +done + +echo "Goodbye! Let's meet again in two weeks." +``` + +??? +This is the key right here. Anybody know what this is? + +It's a heredoc. + +The colon command in bourne shell is just noop. Sometimes you'll see the colon used as a type of comment, but unlike +a comment the shell does parse the arguments to colon. + +--- +class: center, middle + ## Understand calling context. ??? @@ -1668,10 +1667,10 @@ As this example shows, you can also do nifty stuff like destructure. .col[ - Use [`B::Deparse`](https://metacpan.org/pod/B::Deparse). -- Document your shell scripts with pod. - Know regular expressions. - Use [`Regexp::Debugger`](https://metacpan.org/pod/Regexp::Debugger). - Write Vim plugins in Perl. +- Document your shell scripts with pod. - Understand calling context. - Understand execution phases. - Know when to be terse and when not to.