perlavi has asked for the wisdom of the Perl Monks concerning the following question:
I have an issue while parsing strings which are in variable. I have a text file containing machine names and I'm reading the text file line by line. When I am trying to parse these machine names, somehow it's not working properly. e.g. In my text file I have machine names as machine1, machine11, machine12, machine2, machine20, machine23, machine30 (ef0a-14f09a-dfe230d-ea5f8d), etc. So when I parse for machine11, the code still matches machine1 and not machine11. Also I have used \Q and \E to escape special character sequences. I tried to use \b in combination with it to resolve the issue but it did not work.
my $machine = shift @_; foreach my $line (sort @::Lines){ if($line =~ m/\Q$machine\E\b/){ print "MACHINE = $machine \n"; } }
$machine is taken from the array which contains machine names. @::Lines is the array which looks like this.
\\hostname\Cpu(123:machine1)\%Ready
\\hostname\Cpu(3545:machine11)\%Used
\\hostname\Memory(3244:machine30 (ef0a-14f09a-dfe230d-ea5f8d))\Swapped MBytes
I have used \Q and \E in parsing because sometimes my machine names contain special characters like -,( , ) and :
Can we use \Q, \E and \b in combination with each other? Because if I simply use only \Q and \E, it doesn't work for machine names like machine1, machine11,etc and when I use \b with \Q and \E, it doesn't work for machine names like machine30 (ef0a-14f09a-dfe230d-ea5f8d).
Any idea on how can we parse this kind of patterns where we are using variable names ?
Thanks
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Parsing Issue while using Variable name in Pattern
by NetWallah (Canon) on Feb 16, 2012 at 04:37 UTC | |
by perlavi (Initiate) on Feb 16, 2012 at 05:26 UTC | |
by NetWallah (Canon) on Feb 16, 2012 at 07:36 UTC | |
|
Re: Parsing Issue while using Variable name in Pattern
by kino (Initiate) on Feb 16, 2012 at 05:13 UTC | |
|
Re: Parsing Issue while using Variable name in Pattern
by Eliya (Vicar) on Feb 16, 2012 at 04:23 UTC | |
|
Re: Parsing Issue while using Variable name in Pattern
by tchrist (Pilgrim) on Feb 16, 2012 at 19:18 UTC |