Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

listing all files of a dir

by torres09 (Acolyte)
on Jul 12, 2013 at 06:15 UTC ( #1043879=perlquestion: print w/ replies, xml ) Need Help??
torres09 has asked for the wisdom of the Perl Monks concerning the following question:

hey

is it possible to list all files of a directory in a perl one by one , asking user is this your file

say a directory fruits has files apple , mango, pineapple,strawberry

can we show it to user like is apple your file?

is mango your file ?

Comment on listing all files of a dir
Re: listing all files of a dir
by davido (Archbishop) on Jul 12, 2013 at 06:18 UTC
Re: listing all files of a dir
by kcott (Abbot) on Jul 12, 2013 at 06:22 UTC

    G'day torres09,

    See readdir. A slight modification of the second example should do what you want.

    -- Ken

      thanks for replying , just one more thing how to point to the current directory as in
      opendir(my $dh, $some_dir) || die;

      instead of $somedir , how can we have present directory

        use Cwd

        These questions are searchable.


        Dave

        You can use Cwd for that.

        -- Ken

Re: listing all files of a dir
by 2teez (Priest) on Jul 12, 2013 at 07:58 UTC

    Hi torres09,
    is it possible to list all files of a directory in a perl one by one , asking user is this your file

    Have you thought of using File::Find or File::Find::Rule
    I use to have a "throw-away" script, I once used for deleting files I don't want.
    You can modify this to ASK instead of deleting..
    For me, the advantage of these modules is that they do ALL the dirty work for me.

    use warnings; use strict; use File::Find qw(find); die "No directory is specified" unless defined $ARGV[0]; my $dir = $ARGV[0]; find( \&unwanted, $dir ); sub unwanted { if (/^\.{1,}/) { return } else { print "Do you want to delete ", $_, $/; chomp( my $ans = <STDIN> ); # to delete the file, remove the comment the code below #unlink $_ if $ans =~ /\by\b/; } }
    NOTE: Please note that am only showing the usage of one the module, stated above. The OP will have to modify this to satisfy his intended condition.
    Moreover, the OP should see documentation for various modules.

    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

      There really isn't much dirty work to be done here. The File::Find approach is more complex, for no added benefit to his particular need.

      Sure, if you're diving recursively into a directory structure, File::Find, File::Find::Rule, etc., are the tools of choice. But he's reading a single directory. He didn't say anything about diving deeper into the structure.

      Using File::Find to deal with a single directory is like using Data::Deep to look at an integer held in a scalar variable.


      Dave

        hi davido,
        "..Sure, if you're diving recursively into a directory structure...He didn't say anything about diving deeper into the structure"
        You are right in the sense that the OP didn't say anything about diving deeper into the structure. But am almost certain that you wouldn't be surprised that "this" follow sooner or later, I can almost bet my dinner on it. :)
        And you are right ultimately because one should stay within a "asked" question as much as possible, I was only trying to predicts the OP ...
        AHooohhsh my crystal ball is broken..
        Thanks.

        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

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2014-10-31 07:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (215 votes), past polls