in reply to Re: Re: find or grep?
in thread find or grep?

good to see you got something that works. but you're mixing your methods in this example. you're getting the return value you want in  $fullpath, but you're not using the File::Find module to do it. instead, you're using the backquotes, which executes an external program and returns the output as a single string containing all lines.
so, you've gone to the trouble of loading all these lines of code, only to ignore them. perhaps you should remove the use line, it's unneccessary in your example.

as an alternative, for an example of a 100% Pure Perl solution, try:

#!/usr/bin/perl use strict; use warnings; use File::Find; # the dir you're 'find'ing from my $dir = shift || '.'; # the file you're looking for my $file = 'blah'; # the results you want my @results; # the function you perform on each find value sub looking_for_file { # push full filename to an array if file and name is $file push(@results, $File::Find::name) if(-f $_ && $_ eq $file); }; # the result you want, using File::Find::find() # (not the external 'find' program) find \&looking_for_file, $dir; # print your results print("my results are: @results\n");
In this example, you get an array (@array) with the values of each file found named 'blah'. unlike also, this should run on just about any platform.

I know my example was a bit lengthy, so here's a shorter version:

#!/usr/bin/perl use strict; use warnings; use File::Find; # the shorter version my @results; find sub{-f $_ && $_ eq 'blah' && push(@results,$File::Find::name)}, shift || '.'; print("my results are: @results\n");

~Particle