in reply to A thought about usability in Perl and Linux in general.
Certainly if you build code from a personal template, you can have such an ability built in. I start from scratch because I'm usually solving a problem with Perl that is a known task.
Command-line-oriented programs are very flexible. I built a 20-page program in bash that could make a *nix system sit up and beg, and it had about thirty major variants of - flags as well as the ability to execute other programs from the launched shells.
*nix users are typically more comfortable (than GUI users) with options in return for the freedom they give to customize the script's behavior. You can launch twenty things in the time it takes to sequence through one wizard. :D