http://qs321.pair.com?node_id=664873


in reply to Need help regarding "search in file"

Hi Mahesh,

We have lot of ways to do this i can suggest you some ways,

On customizing your code you can use like,

use strict; use warnings; open (RD, "input.txt") or die; my @Read = <RD>; close (RD); open (WR2, ">>output.txt") or die; my $count=0; my $C="2001-1041"; my $found=0;#######Temporary variable to find the content in whole fil +e for (my $read=0; $read <= $#Read; $read++) { if($Read[$read] =~ /$C/) { $count++;$found++; } } print WR2"$count=$C\n" unless($found);

In other way without reading the file in array, you can do like,

use strict; use warnings; open (RD, "input.txt") or die; open (WR2, ">>output.txt") or die; my $count=0; my $C="2001-1041"; my $found=0;#######Temporary variable to find the content in whole fil +e while(<RD>){ if($_ =~ /$C/) { $count++;$found++; } } print WR2"$count=$C\n" unless($found);

You can do like this also

use strict; use warnings; open (RD, "input.txt") or die; my $input; do{ local undef $/; ######To undef the input record separator '$/' $input=<RD>; }; #####To read the whole file in single scalar variable open (WR2, ">>output.txt") or die; my $count=0; my $C="2001-1041"; while($input =~ /$C/g) { $count++; } print WR2 "$count=$C\n" unless($count);

Punitha