Hello all.

   I am working on a script that searches through a text file - each 
'record' within the text file is separated by a - so for example:

-
Fancy Car

text text
text text
-

and so on and so on.

the first initial row of text is what I am searching for - then I can 
handle parsing the rest of the text after that to the next delimiter.

But right now with the script.. its really basic, you can pass a search 
argument to it and it'll return results. but I need to narrow it down. 
because it may return data I didnt search for. but it match to some 
extent the input. Here's the script as I have it now.

--
  #!/usr/bin/perl -w

use strict;

my $filename = "somefile";
my $bit = 0;
my $search = $ARGV[0];

open(FILE,$filename) or die ("Couldn't open file - !$\n");

while (<FILE>) {
   chomp;
   if ($_ =~ /^-/) {
      $bit = 2;
       next;
    }

   if ($_ =~ /^$search*/) {
      $bit = 1;
   }

   if ($bit == 1) {
      print "$_\n";
   }
}
close(FILE);
--

the bit variables are there to basically do this: If the first line is 
a - (the record delimiter) then set $bit to 2 and scroll to the next 
line.  If the line matches the inputed search - then set bit to 1 - so 
then now as it scrolls through the while, as long as $bit hasn't been 
changed to 2 - it'll print out each line until it hits the next '-'

Now my question for the perl gurus is - How to optimize the regex (or 
lack of) I am using to match my inputed search? all I want to test 
against is the next line after a '-' and still attempt to match it even 
if its not the exact word (ie: typing in 'off' it would match off, 
office, Office, OFFICE, OFF, fell OFF the bike... i think you get my 
point) Thanks! and I hoped I explained my question/problem clearly.

~Eric


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to