Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Reading all the files in the directory

by crashtest (Curate)
on Feb 12, 2010 at 18:58 UTC ( #822912=note: print w/ replies, xml ) Need Help??


in reply to Reading all the files in the directory

If that's all you need to do, your files are cleanly formatted, and you have a useful shell, you could do it in a one-liner:

$ perl -nlae "$t+=$F[2]; END{print $t/$.}" *
(see perlrun to understand the -a, -n, -l and -e options.)

For a more flexible (and verbose) approach, the following could be a useful skeleton for your code:

use strict; use warnings; use File::Find; sub process_file{ return unless (-f); # Only work on files, not directo +ries open INPUT, '<', $_ or die "Couldn't open $_: $!"; while (<INPUT>){ # works through the file line-by- +line chomp; # delete trailing new line my @columns = split /\s+/; # split on whitespace print "TODO: Process the following columns: ", join(" -- " => @columns), "\n"; } close INPUT or die $!; } # Find any file in a directory named "data", for example # (and its subdirectories) find(\&process_file, 'data');
I am using File::Find in this example to process files. There are other ways to approach this.


Comment on Re: Reading all the files in the directory
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (10)
As of 2015-07-08 02: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 (93 votes), past polls