Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^2: How we can do regex of this?

by Anonymous Monk
on Dec 23, 2012 at 18:46 UTC ( #1010111=note: print w/replies, xml ) Need Help??

in reply to Re: How we can do regex of this?
in thread How we can do regex of this?

Somewhat simpler:
use strict; use warnings; my @names = split(' ', <DATA>); my @lenghts = split(' ', <DATA>); my %sizes; @sizes{@names} = map { length } @lenghts; sub strip_space { my ($str) = @_; $str =~ s/^\s+//; unpack 'A*', $str; } my %data; while (defined(my $line = <DATA>)) { my $pos = 0; foreach my $name (@names) { push @{$data{$name}}, strip_space(substr($line, $pos, $sizes{$name})); $pos += $sizes{$name} + 1; } } use Data::Dumper; print Dumper \%data; __END__ Mod Sub-Module Model Serial ---- --------------------------- ------------------ ----------- 1 Distributed Forwarding Card WS-F6700-DFC3CXL SAL1434RLPY 3 7600 ES+ DFC XL 7600-ES+3CXL JAE14520N29 3 7600 ES+T 20x1GE SFP 76-ES+T-20GQ JAE145301XM 5 Policy Feature Card 3 7600-PFC3CXL JAE14330E6J 5 C7600 MSFC4 Daughterboard 7600-MSFC4 JAE14320QBE 6 Policy Feature Card 3 7600-PFC3CXL JAE14330EAO 6 C7600 MSFC4 Daughterboard 7600-MSFC4 JAE14320QA8 7 Distributed Forwarding Card WS-F6700-DFC3CXL SAL1433QHBR 8 Distributed Forwarding Card WS-F6700-DFC3CXL SAL1433QXF9

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010111]
[LanX]: Dutch royals usually spent their exiles on Berlin
[erix]: well, dutch royals are germans, really
[choroba]: Utrecht? Is that where we made the trip, LanX?
[erix]: we should really dupm the lot, but I got no say in the matter :)
[LanX]: yeah its a religious mafia , the only two big calvinist houses are dutch and prussian. ..
[LanX]: choroba yes
[erix]: Utrecht has a beautiful old center, and less mass-tourism than Amsterdam
[erix]: next time, drop by :)
[LanX]: religion is also the reason how the house of Hanover aquire the English throne, all other candidates on succession where catholics...
[erix]: Henry VIII has a lot to answer for :P

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (12)
As of 2017-12-15 16:36 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (439 votes). Check out past polls.