in reply to Re: HELP TO WRITE THE PERL CODE
in thread help to write perl code
perlintro, xpather.pl , Modern Perl, ...
#!/usr/bin/perl -- ## ## ## ## perltidy -olq -csc -csci=3 -cscl="sub : BEGIN END " -otr -opr -ce +-nibc -i=4 -pt=0 "-nsak=*" #!/usr/bin/perl -- use strict; use warnings; use XML::LibXML 1.70; ## for load_html/load_xml/location my( $xml ) = q{<reg><bit><init_val>0</init_val></bit><bit><init_val>0< +/init_val></bit><bit><init_val>1</init_val></bit><bit><init_val>0</in +it_val></bit><bit><init_val>1</init_val></bit><bit><init_val>1</init_ +val></bit><bit><init_val>0</init_val></bit><bit><init_val>0</init_val +></bit><bit><init_val>0</init_val></bit><bit><init_val>1</init_val></ +bit><bit><init_val>0</init_val></bit><bit><init_val>0</init_val></bit +><bit><init_val>1</init_val></bit><bit><init_val>1</init_val></bit><b +it><init_val>0</init_val></bit><bit><init_val>0</init_val></bit></reg +>}; RunWithIt( $xml ); exit( 0 ); sub RunWithIt { my $dom = XML::LibXML->new( qw/ recover 2 / )->load_xml( string => + shift ); for my $reg ( $dom->findnodes( q{ //reg } ) ) { my $bitstr = FunWithIt( $reg ); my $bytes = BitsToBytes( $bitstr ); print "$bitstr The answer is $bytes\n"; } } ## end sub RunWithIt sub BitsToBytes { return pack 'b*', shift; } ## end sub BitsToBytes sub FunWithIt { my( $reg ) = @_; my $str = ''; for my $bit ( $reg->findnodes( q{ //bit } ) ) { $str .= $bit->findvalue( './/init_val' ); } return $str; } ## end sub FunWithIt
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: HELP TO WRITE THE PERL CODE
by achs (Initiate) on Oct 06, 2015 at 11:31 UTC | |
by hippo (Archbishop) on Oct 06, 2015 at 12:55 UTC | |
by Anonymous Monk on Oct 07, 2015 at 01:25 UTC |