#!/usr/bin/env bash
# -a splits each line into @F, -F says what to split on, and -l takes the
# newline off the line and puts one back on every print. Deparse shows all
# three as the lines of code they are.
set -u
cd ../demo || exit 1

say() { printf '$ %s\n' "$*"; eval "$*" 2>&1; echo; }

say cat orders.txt
say "perl -ane 'print \$F[2]' orders.txt"
say "perl -lane 'print \$F[2]' orders.txt"
say "perl -MO=Deparse -lane 'print \$F[2]' 2>/dev/null"
say "perl -lane '\$total += \$F[3]; END { print \$total }' orders.txt"
say "perl -lane 'print \"\$F[1] \$F[-1]\" if \$F[3] > 10' orders.txt"

say cat accounts.txt
say "perl -F: -ane 'print \"[\$F[-1]]\"' accounts.txt"
say "perl -F: -lane 'print \"[\$F[-1]]\"' accounts.txt"
say "perl -F: -le 'print \$F[0]' accounts.txt"

say cat cities.tsv
say "perl -lane 'print \$F[1]' cities.tsv"
say "perl -F'\\t' -lane 'print \$F[1]' cities.tsv"
