D. Bolliger wrote:
> John W. Krahn am Sonntag, 14. Mai 2006 00.11:
>>
>>Or you could "cheat" and let Getopt::Long parse it for you:
>>
>>$ perl -MGetopt::Long -MData::Dumper -e'
>>$_ = q[iptables -A INPUT -p tcp -s 123.45.678.90 --dport 22 -j ACCEPT];
>>my %h;
>>{   local @ARGV = split;
>>    GetOptions( \%h, "A=s", "p=s", "s=s", "dport=i", "j=s" );
>>    }
>>print Dumper \%h;
>>'
>>$VAR1 = {
>>          'A' => 'INPUT',
>>          'p' => 'tcp',
>>          's' => '123.45.678.90',
>>          'j' => 'ACCEPT',
>>          'dport' => 22
>>        };
> 
> The disadvantage may be that it accepts wrong syntax like -ptcp (see remark 
> above), but the idea is great!

$ perl -MGetopt::Long -MData::Dumper -e'
$_ = q[iptables -A INPUT -ptcp -s 123.45.678.90 --dport 22 -j ACCEPT];
my %h;
Getopt::Long::Configure( "bundling_override" );
{   local @ARGV = split;
    GetOptions( \%h, "A=s", "p=s", "s=s", "dport=i", "j=s" );
    }
print Dumper \%h;
'
$VAR1 = {
          'A' => 'INPUT',
          'p' => 'tcp',
          's' => '123.45.678.90',
          'j' => 'ACCEPT',
          'dport' => 22
        };


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to