in reply to How to write minimal command line interface?
If you want to enhance a shell ( DOS comes to mind ) you need to decide what to emulate. Make some recursive subs that break a command into parts, emulate pipes "|" by openning things with open(PRINTER, "| lpr -Plp1") Perl pipe opens, emulate file io ">","<" with... I guess pipe opens again. To run commands you can have a variable with the directory that contains all the executables, upon command submittal you can check whether the typed command is one of those executables and then run it.