in reply to Reduce Redundant Repetition
#!/usr/bin/perl -w use strict; use Getopt::Long; my $targ = 'localhost'; my $firstport = 1; my $lastport = 1024; my $proto = 'tcp'; my $udptimeout = 3; my $contimeout = 3; { my %options; GetOptions(\%options, qw(targ=s firstport=s lastport=s proto=s udpti +meout=s contimeout=s help!)); if (defined $options{help}){ Usage('You rang, sir?'); exit; } ($targ, $firstport, $lastport, $proto, $udptimeout, $contimeout) = @options{qw(targ firstport lastport proto udptimeout contimeout)}; }
With some further generalization the variable-/option-names wouldn't have to appear four times each as in this code either.
Update: maybe you want qw(targ=s firstport=s lastport=s proto=s udptimeout=i contimeout=i help!)? I can see someone saying POP3 for the port f.ex - but it doesn't seem to make any sense to take arbitrary values for the timeout parameters.
Makeshifts last the longest.
|
|---|