Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Why I hate File::Find and how I (hope I) fixed it

by clemburg (Curate)
on Aug 30, 2001 at 21:46 UTC ( #109149=note: print w/ replies, xml ) Need Help??


in reply to Why I hate File::Find and how I (hope I) fixed it

You can do better than just take fixed arguments:

#!/usr/bin/perl -w use strict; use File::Find; sub make_wanted { my ($function, $get_argument_function) = @_; return sub { $function->($get_argument_function->()); } } sub delete_file_with_user_confirmation { my ($file_name, $user_input) = @_; if ($user_input =~ /yes/i) { unlink($file_name) or die "Error: no unlink for $file_name: $!"; } } sub get_user_input_for_file { # show full path to user print "Delete ", $File::Find::name, " (say 'yes' to delete)? "; my $user_input = <STDIN>; # but remember we chdir()ed into $File::Find::dir return $_, $user_input; } my @dirs = @ARGV ? @ARGV : ("."); find(make_wanted(\&delete_file_with_user_confirmation, \&get_user_input_for_file), @dirs);

Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com


Comment on Re: Why I hate File::Find and how I (hope I) fixed it
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://109149]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2015-07-04 19:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls