Hi nisha, You have used strict and warnings but you have not declared the variables properly. Also you have splitted with ':' but you have not removed that from the file content because you are using '^' anchor, else you remove that anchor.

use strict; use warnings; #Program to read the command line report file; and extract the virus d +etection name for a file. my $cmdrep = "d:/eitv10cm_cln.rep"; my $fname = "D:\\EITV10CM\\base\\repair\\Companion_Repair\\File2SelfEx +t\\F2SEXT.COM"; my ($found,$virusname,$flag,$i); my (@dirtemp) = split /:/,$fname; #declared the variables with my shift @dirtemp; my $filepath; foreach my $itemp ( @dirtemp ) { $filepath .= $itemp; } while (<DATA>) { chomp; $_ =~ s/\w\://; #you are missing this line next if $_ !~ /^\Q$filepath\E/i; #else remove the anchor chomp($_); /\s\.{3}\s(.*)/; $found = $1; print "$found\n"; if ($found eq "is OK.") { $virusname = "OK"; print "The virus detection name is $virusname\n"; last; } if ($found =~ /^Found: (.*?) NOT a virus[.]/) { $virusname = $1; print "The virus detection name is $virusname\n"; last; } elsif ($found =~ /^Found the (.*?) (virus|trojan) !!!/) { $virusname = $1; print "The virus detection names is $virusname\n"; last; } elsif ($found =~ /^Found potentially unwanted program (.*?)[.] +/) { $virusname = $1; print "PuPs $virusname \n"; last; } elsif ($found =~ /Found (virus or variant|application) (.*?)( +!!!|[.])/) { $virusname = $2; print "Virus or variant $virusname \n \n"; $flag =1; last; } } __DATA__ C:\EITV10CM\base\repair\Companion_Repair\File2File\F2F.COM ... is OK. C:\EITV10CM\base\repair\Companion_Repair\File2SelfExt\F2SEXT.CMP ... i +s OK. C:\EITV10CM\base\repair\Companion_Repair\File2SelfExt\F2SEXT.COM ... F +ound the CMPAN/File2SelfExt virus !!! The virus has been removed from the file. Checking for another virus in the file ... C:\EITV10CM\base\repair\Companion_Repair\File2SelfExt\F2SEXT.COM ... i +s OK output: ------- Found the CMPAN/File2SelfExt virus !!! The virus detection names is CMPAN/File2SelfExt

Prasad


In reply to Re: Problem with searching for an entry in a file by prasadbabu
in thread Problem with searching for an entry in a file by nisha

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.