http://www.perlmonks.org?node_id=85391


in reply to (code) Yet Another Gzip Tarball Script

Why no command line? Try changing your hash to this:
use Getopt::Long; my (%parm, %file); GetOptions( 'recurse' => \$parm{recurse}, 'cmprlevl' => \$parm{cmprlevl}, 'outfile' => \$file{out}, 'logfile' => \$file{log} ); $parm{recurse} ||= 1; $parm{cmprlevl} ||= 9; $parm{out} ||= 'tgzpl.tar.gz'; $parm{log} ||= 'tgzpl.log';
Now you can use 'gnu' long format args with your program. For example, tgz.pl --cmprlevl=3. Don't forget to untaint these values as well.