Chapter 13 exercises

For review
Didn't realise you could mix `getopts()` and `@ARGV`