in reply to Re^2: pattern search in all the files in a directory
in thread pattern search in all the files in a directory

Actually I am not able to take an exact move at this point Why is that?
I thought of using find(subroutine,directory_path) That is a way to go. Try it out.
If you could describe what you want like you did above, it shows you could make it happen. Try it out and you would be glad you did.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me

Replies are listed 'Best First'.
Re^4: pattern search in all the files in a directory
by Bharath666 (Novice) on Feb 19, 2013 at 09:58 UTC

    I tried like the below and I got the solution that I desired. Can you please tell me if it can be further optimized or is enough to get proceed further? Thanks

    find(\&do_process, "$dirname" ); sub do_process { chomp($_); if (-r "$_"){ $file_name = $_; open (my $fh,"< $file_name"); while(<$fh>) { chomp(); if (/\bkeyword : Multinode\b/i) { $KeyMnode = "$file_name:$_"; } if (/\bkeyword : Threads\b/i) { $KeyThreads = "$file_name:$_"; } } } }

      • The perl function chomp chomps $_ if variables are omitted i.e chomp($_) can be written simply as chomp;
      • Use 3 argument open function and also check the return of the open function like so
        open my $fh, "<", $file_name or die "can't open file: $!"; while(<$fh>){ chomp; ... } ...

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me