I don't understand how you claim that this works?:
## see what we got use File::Find; # Get $dirname from first command-line argument my $dirname = $parent; find( \&do_process, $dirname ); my ( $a, $b ); sub do_process { if ( -r $_ ) { my $file_name = $_; open( my $fh, '<', $file_name ); # Use three-arg open! while (<$fh>) { chomp(); if (/\btournament winner is 1.gonzaga\b/i) { $a = "$file_name: +$_"; } if (/\btournament winner is 2.miSTb/i) { $b = "$file_name: +$_"; } } } }
Please see: perl doc File::Find
File::Find will traverse starting down from a list of directories, calling do_process() for each file name encountered. Note that links and directories are just special kinds of files as far as the directory system is concerned. This -r test looks meaningless to me in a normal sense. Perhaps you mean -f? for example:
find( \&do_process, ($dirname) ); sub do_process { my $file_name = File::Fine::name; #there is no $_ or @_ context her +e .... }
To set $a or $b repeatedly with a different value makes no sense. You need a more complex data structure to save all values. BTW: I would not use $a or $b as scalar values in a user script. These names have special meanings to Perl like in sort() and other places. I would not do anything complicated at all in a do_process() subroutine. Minimize the chance of a "blow up". File::Find does cd's to traverse the directory tree. If you "blow up" at some random point, you are in a different directory than where you started from and that can cause various problems.

Read the FAQ and then try again showing a simplified example.

This is good:  open( my $fh, '<', $file_name );    # Use three-arg open! This is better:
open( my $fh, '<', $file_name ) or die "Can't open $file_name for read $!";

Update:
I would make this change:
Don't use an O/S specific command where there is no need for it. I'm running Windows and your program bombed because of this. Also, system() will launch another process (an "expensive" cpu thing) where there is no need for that either (slows things down).

say "-------system out---------"; #system("cat $out_file"); open my $fh, '<', $out_file or die "can't print $out_file! $!"; print while (<$fh>); close $fh; say "----------------";

I did get your script to run. It creates files underneath a "my_data" directory.
There is no need for File::Find
You have a single directory of directories:
For example:

print "OUTFILES*******************\n"; foreach my $directory (glob "my_data/*") { print "Directory: $directory\n"; foreach my $file (glob "$directory/*") { print " File=$file\n"; } }
=prints
OUTFILES******************* Directory: my_data/03-04-2019-22-09-24 File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.1.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.13.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.17.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.21.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.25.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.29.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.33.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.37.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.41.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.45.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.49.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.5.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.53.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.57.txt File=my_data/03-04-2019-22-09-24/03-04-2019-22-09-24.9.txt Directory: my_data/03-04-2019-22-14-09 File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.1.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.13.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.17.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.21.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.25.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.29.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.33.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.37.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.41.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.45.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.49.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.5.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.53.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.57.txt File=my_data/03-04-2019-22-14-09/03-04-2019-22-14-09.9.txt Directory: my_data/03-04-2019-22-14-55 File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.1.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.13.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.17.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.21.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.25.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.29.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.33.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.37.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.41.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.45.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.49.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.5.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.53.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.57.txt File=my_data/03-04-2019-22-14-55/03-04-2019-22-14-55.9.txt Directory: my_data/03-04-2019-22-16-53 File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.1.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.13.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.17.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.21.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.25.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.29.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.33.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.37.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.41.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.45.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.49.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.5.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.53.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.57.txt File=my_data/03-04-2019-22-16-53/03-04-2019-22-16-53.9.txt Directory: my_data/03-04-2019-22-20-00 File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.1.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.13.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.17.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.21.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.25.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.29.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.33.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.37.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.41.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.45.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.49.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.5.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.53.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.57.txt File=my_data/03-04-2019-22-20-00/03-04-2019-22-20-00.9.txt Directory: my_data/03-04-2019-22-21-01 File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.1.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.13.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.17.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.21.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.25.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.29.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.33.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.37.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.41.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.45.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.49.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.5.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.53.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.57.txt File=my_data/03-04-2019-22-21-01/03-04-2019-22-21-01.9.txt Directory: my_data/03-04-2019-22-24-54 File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.1.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.13.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.17.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.21.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.25.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.29.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.33.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.37.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.41.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.45.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.49.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.5.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.53.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.57.txt File=my_data/03-04-2019-22-24-54/03-04-2019-22-24-54.9.txt Directory: my_data/03-04-2019-22-26-59 File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.1.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.13.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.17.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.21.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.25.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.29.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.33.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.37.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.41.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.45.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.49.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.5.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.53.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.57.txt File=my_data/03-04-2019-22-26-59/03-04-2019-22-26-59.9.txt Directory: my_data/03-04-2019-22-28-51 File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.1.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.13.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.17.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.21.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.25.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.29.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.33.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.37.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.41.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.45.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.49.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.5.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.53.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.57.txt File=my_data/03-04-2019-22-28-51/03-04-2019-22-28-51.9.txt =cut
PS: Why this UTF-8 stuff? I don't see the need for that complication.

In reply to Re: using File::Find to grep for text by Marshall
in thread using File::Find to grep for text by Aldebaran

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.