Hi Arun, I kept the flag when the condition is met, but still processes all lines instead of processing only the matched line.
open (FH, "$ARGV[0]") or die "couldn't open .RES $! file";
@res=<FH>;
close(FH);
$flag=0;
$ARGV[1]="$ARGV[1]_$ARGV[0].txt";
#open (RH, ">$ARGV[1]");
$count=0;
$flag=0;
foreach $line (@res)
{
if ($line =~ m/\-\-gnu\s/)
{
$flag=1;
chomp($line);
@new = split(" ",$line);
foreach $n (@new)
{
if ($n !~ m/^$/)
{
#if ($n =~ m/^$/) { next; }
if ($flag == 1)
{
if (($n =~ /^\-D(\w\_\=\d)*/) || ($n =~ /^\-U(\w\_\=\d)*/) &&
+($n !~/^\-I(\w\_\=\d)*/))
{
$count++;
chomp($n);
print "\n$count $n";
#print RH "$count $n \n";
}
}
}
}
}
$flag=0;
#exit;
}
close (RH);
Please suggest what mistake i have encountered? Thanks for your suggestions.... BR, Raghvens |