Chris , cant get to you.

1) Use $RouteArray[2] instead of $RouteArray['2']
2) POst me the 11th route entry

|-----Original Message-----
|From: Chris Knipe [mailto:[EMAIL PROTECTED]
|Sent: Tuesday, January 18, 2005 7:55 PM
|To: beginners@perl.org
|Subject: Re: regex needed
|
|
|Hi Randy,
|
|Ok thank you very much.  This works :)  The problem now, is that I have
|never before in my life worked with hashes...
|
|I have now looped the route list, and it is saved in the hash.  Do I loop
|the hash again now (dumping all data) and then put in
|comparisions?  I'm not
|100% on how to work with this further now to check which route is on the
|interface that I actually want to delete...
|
|I want to achieve something like
|
|if (($data{interface} eq "National Gateway") && ($data{gateway} =~
|m/165\.(165|146)\.0\.[0-8]/)) {
|  #work with $data{rule};
|}
|
|--
|Chris.
|
|
|
|
|
|
|
|----- Original Message -----
|From: "Randy W. Sims" <[EMAIL PROTECTED]>
|To: "Chris Knipe" <[EMAIL PROTECTED]>
|Cc: <beginners@perl.org>
|Sent: Tuesday, January 18, 2005 4:04 PM
|Subject: Re: regex needed
|
|
|> Chris Knipe wrote:
|>> Lo everyone,
|>>
|>> Can someone please give me a regex to parse the following... Flags: X -
|>> disabled, I - invalid, D - dynamic, J - rejected,
|>> C - connect, S - static, r - rip, o - ospf, b - bgp
|>>  #    DST-ADDRESS        G GATEWAY         DISTANCE INTERFACE
|>>  0  S 0.0.0.0/0          r 198.19.0.2      1        SERVER-CORE
|>>  1  S 196.0.0.0/8        r 165.146.192.1   1        National Gateway
|>>  2 DC 198.19.1.0/24      r 0.0.0.0         0        WIRELESS-CORE
|>>  3 Ib 198.19.0.0/24      u 0.0.0.0         200      (unknown)
|>>  4 DC 198.19.0.0/24      r 0.0.0.0         0        SERVER-CORE
|>>  5 DC 192.168.1.0/24     r 0.0.0.0         0        INTERNAL-CORE
|>>  6 DC 165.146.192.1/32   r 0.0.0.0         0        National Gateway
|>> [EMAIL PROTECTED] >
|>>
|>>
|>> I want the regex to return the rule number for all route
|entries that is
|>> static (S Flag) on Interface "National Gateway".  For added
|security, I'd
|>> like it if the regex will also only return true if the gateway
|address is
|>> part of 165.165.0.0/8 or 165.146.0.0/8
|>>
|>> Basically, I need to use the rule number in another command to
|delete the
|>> route entry... So I presume I'll need to extract it via the regex
|>
|> If it's a fixed width data format, its better (easier for you,
|faster for
|> perl) to break up the string with C<substr>:
|>
|> #!/usr/bin/perl
|>
|> use strict;
|> use warnings;
|>
|>
|> while (defined( my $line = <DATA> )) {
|>     chomp( $line );
|>
|>     my %data;
|>     $data{rule}      = substr( $line,  0,  2 );
|>     $data{flags}     = substr( $line,  3,  2 );
|>     $data{dest_ip}   = substr( $line,  6, 18 );
|>     $data{g}         = substr( $line, 25,  1 );
|>     $data{gateway}   = substr( $line, 27, 16 );
|>     $data{distance}  = substr( $line, 43,  8 );
|>     $data{interface} = substr( $line, 52     );
|>
|>     # cleanup, stripping spaces
|>     $data{$_} =~ s/^\s+|\s+$//g
|> for keys %data;
|>
|>     # reformat or reinterpret data
|>     $data{flags} = [ split( //, $data{flags} ) ];
|>
|>     use Data::Dumper;
|>     print Dumper( \%data );
|> }
|>
|>
|>
|> __END__
|>  0  S 0.0.0.0/0          r 198.19.0.2      1        SERVER-CORE
|>  1  S 196.0.0.0/8        r 165.146.192.1   1        National Gateway
|>  2 DC 198.19.1.0/24      r 0.0.0.0         0        WIRELESS-CORE
|>  3 Ib 198.19.0.0/24      u 0.0.0.0         200      (unknown)
|>  4 DC 198.19.0.0/24      r 0.0.0.0         0        SERVER-CORE
|>  5 DC 192.168.1.0/24     r 0.0.0.0         0        INTERNAL-CORE
|>  6 DC 165.146.192.1/32   r 0.0.0.0         0        National Gateway
|>
|>
|
|
|--
|To unsubscribe, e-mail: [EMAIL PROTECTED]
|For additional commands, e-mail: [EMAIL PROTECTED]
|<http://learn.perl.org/> <http://learn.perl.org/first-response>
|
|


*********************************************************
Disclaimer:          

This message (including any attachments) contains 
confidential information intended for a specific 
individual and purpose, and is protected by law. 
If you are not the intended recipient, you should 
delete this message and are hereby notified that 
any disclosure, copying, or distribution of this
message, or the taking of any action based on it, 
is strictly prohibited.

*********************************************************
Visit us at http://www.mahindrabt.com


-- 
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