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

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:$_"; } } } }

Replies are listed 'Best First'.
Re^5: pattern search in all the files in a directory
by 2teez (Vicar) on Feb 19, 2013 at 14:33 UTC

    • 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