In <[EMAIL PROTECTED]>, [EMAIL PROTECTED] 
wrote
> 
> John W. Krahn wrote:
> >
> > Stephen wrote:
> >
> > > 4. Maybe I'm restating the above question, but in addition to the
> > > &wanted sub, File::find accommodates process, etc., as well.  When/how
> > > can these are typically used?
> >
> > Sorry, I've never used them.
> 
> You can specify 'preprocess' and 'postprocess' routines with the alternate
> form of the call to 'find', with an anonymous hash as the first parameter
> instead of a code reference. Like this:
> 
>   find( {
>     wanted => \&wanted,
>     preprocess = \&preprocess,
>     postprocess = \&postprocess,
>   }, 'C:/SomeFolder');
> 

Starting to make sense.  Just a small question, though.  The use of \& 
before the sub name -- my understanding is that the "\" character is 
used as an escape, the "&" character defines a sub (but is regularly 
omitted), and the format for calling a sub is "sub_name ()" rather than 
"&sub_name ()".  If that's correct, why is "\&" being used in the hash?

> In essence, what File::Find does is
> 
> - Read a file directory
> 
> - If 'postprocess' is specified then the subroutine is called with
>   the list of files as parameters. The subroutine must then return
>   a list of those files it is interested in.
> 
> - The 'wanted' subroutine is called for each member of the list
>   with the file name as a parameter.
> 
> - If the 'postprocess' subroutine is specified then it is called
>   with no parameters.
> 
> - If any of the files in the list were directories then this process
>   process recurses for each of them.
> 

> There's a little more to it than that but that's the basics.

I'm sure there's a lot more to it <g>, but I think I get it now.  So 
that I can stop my headscratching, can you provide an example of a 
script where both wanted and postprocess functions are used?

> 
> HTH,
> 
> Rob
> 

Thanks again for the all help.

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to