diff options
-rwxr-xr-x | sboclean | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -14,7 +14,7 @@ use strict; use warnings FATAL => 'all'; use SBO::Lib; use File::Basename; -use Getopt::Std; +use Getopt::Long qw(:config bundling); use File::Path qw(remove_tree); my $self = basename ($0); @@ -33,14 +33,18 @@ Options: EOF } -my %options; -getopts ('hvdwi', \%options); +my ($help, $vers, $clean_dist, $clean_work, $interactive); -show_usage && exit 0 if exists $options{h}; -show_version && exit 0 if exists $options{v}; -my $clean_dist = exists $options{d} ? 1 : 0; -my $clean_work = exists $options{w} ? 1 : 0; -my $interactive = exists $options{i} ? 1 : 0; +GetOptions ( + 'help|h' => \$help, + 'version|v' => \$vers, + 'clean-dist|d' => \$clean_dist, + 'clean-work|w' => \$clean_work, + 'interactive|i' => \$interactiv, +); + +show_usage && exit 0 if $help; +show_version && exit 0 if $vers; unless ($clean_dist || $clean_work) { show_usage, die "You must specify at least one of -d or -w.\n"; |