in reply to perl regex for repeating words
I was trying to extract the following words from input file.But what words? Just guessing:
use strict; use warnings; while ( my $line = <DATA> ) { #-- would print lines starting with either 'f' or 'b': # if ( $line =~ /^(b|f)/) { # print $line; # } #-- not elegant, like the spec... if ( $line =~ /^(b)=(\S+)/ or $line =~ /^(f)\s+(\S+)\s+(\S+)$/ ) { print "$1 = '$2' (", $3 // '-' , ")\n"; } } __DATA__ Input file : (to extract for b and f) b=23 y=0x11 arg=0x70 def=0x1 val=0x234 checking system b=71 y=0x35 arg=0x87 def=0x3 val=0x76d h=reg.k2.io.chk 0x2001 b=54 y=0x23 arg=0x78 def=0x2 val=0x65b f chk.fin.reg.m_cwr 0x213 b=54 y=0x23 arg=0x78 def=0x2 val=0x65b checking system b=40 y=0x90 arg=0x34 def=0x5 val=0x2197 f ref.grf.pin.clk_trg 0x0021
Result:
b = '23' (-) b = '71' (-) b = '54' (-) f = 'chk.fin.reg.m_cwr' (0x213) b = '54' (-) b = '40' (-) f = 'ref.grf.pin.clk_trg' (0x0021)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: perl regex for repeating words
by analys (Initiate) on Mar 12, 2018 at 14:04 UTC | |
by Marshall (Canon) on Mar 13, 2018 at 12:48 UTC |