I have a text file like this:
x.txt
try **until **you **succeed
I'm opening this file in a Tk text widget and searching for
the pattern **.
Then for each match found,
I need to extract the word next to the pattern
for example the word "until"
Here's the code I tried:
foreach $mitem(@missing) {
$result=$t->search(-forwards,"**",'end');
#print"\nThe start pos of the pattern:";
#print "\n$result";
$start=$result+.2;
#print "\n$start";
@chars=$t->get("$start","$start wordend");
print "\nThe word:";
print"\n@chars";
#$t->tagConfigure("wrong",-foreground=>"red");
#$t->tagAdd("wrong","$start","wordend");
The value of $result is printed as 1.4(5th char on 1st line)
Then $start holds the value 1.6(1.4 for the first *, 1.5
for the 2nd *,1.6 for the character 'u' in the word 'until')
Then I need to extract all the chars from 'u' to 'l'(all
chars in 'until')
But these lines in the code:
@chars=$t->get("$start","$start wordend");
print "\nThe word:";
print"\n@chars";
print only the first character i.e. 'u'.
What could be the problem here? Any help would be appreciated.
Thanx
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.