ewhitt has asked for the wisdom of the Perl Monks concerning the following question:
Sample Text I Currently Parse: untagged Interface GigabitEthernet 1/2 untagged Interface GigabitEthernet 10/2
Everything works fine, except now the CLI has changed slightly to better aggregate contiguous interfaces used (e.g. 1/3-5).Code I use today: if ($parse =~ m/^untagged Interface GigabitEthernet (\d{1,2})\/(\d{1,2 +})/)/) { $slot = $1; $port = $2; ...Misc Code... }
How can I extend my current approach to present the following output? I was thinking of using split with ","'s, but I can't figure out a way to identify the delta between "-"'s? Thanks in advance!Sample New Text to Parse: untagged Interface GigabitEthernet 1/2,1/3-5,1/12,1/40
Output I need to make: untagged Interface GigabitEthernet 1/2 untagged Interface GigabitEthernet 1/3 untagged Interface GigabitEthernet 1/4 untagged Interface GigabitEthernet 1/5 untagged Interface GigabitEthernet 1/12 untagged Interface GigabitEthernet 1/40
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Switch CLI Parsing Question
by McDarren (Abbot) on Nov 19, 2007 at 11:41 UTC | |
Re: Switch CLI Parsing Question
by sids (Acolyte) on Nov 19, 2007 at 14:56 UTC | |
Re: Switch CLI Parsing Question
by bobf (Monsignor) on Nov 20, 2007 at 03:10 UTC | |
Re: Switch CLI Parsing Question
by locked_user sundialsvc4 (Abbot) on Nov 19, 2007 at 18:27 UTC | |
by ewhitt (Scribe) on Nov 19, 2007 at 21:12 UTC | |
Re: Switch CLI Parsing Question
by dcd (Scribe) on Nov 20, 2007 at 02:47 UTC |