Hi
   
  I am new to PERL. I have a doubt, The following script is used to read the 
contents of a file (word by word (or) word preceeded by a number), check for 
the existence of the matched pattern which is done by the help of bookref() 
sub, if it is found then the matched pattern is prefixed with the tag <book>. 
When I run the following script it goes to unending because it is not pointing 
to the next string after the complete execution of the loop . Please correct me 
   
  open IN, "r1.dat";
  open OUT, ">r1.txt";
  $/=undef;
  $line=<IN>;
  while ($line=~m/([123]?[\.\s]*[a-z\\=\.]+)/oi)
  {
                  $book=$1;
                  print $book,"\n";
                  $t_book=$book;
                  $t_book=~s/\.//g;
                  $t_book=~s/\\l=([a-z]+)\\/$1/ig;
                  $t_book=~s/<(|\/)(B|I|SC|U)>//ig;
                  $quote=bibref($t_book);
                  if($quote)
                  {
                                  $line=~s/($book)/<book>$1/ig;
                  }
  }
  print OUT $line;
  close(IN);
   
  Thanks in advance for the help.
   
  Regards
  Anand

Send instant messages to your online friends http://in.messenger.yahoo.com 

Reply via email to