Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Lua, etc
 
Processing all files in a directory - Perl

Tcl course, on site, CambridgeFrom this week's Perl course:

opendir(DH, ".");
while ($igot = readdir(DH)) {
  next if ($igot =~ /^\.{1,2}$/);
  print "igot $igot\n";
}


You'll notice that I have used a regular expression to check for files called dot and dot-dot, which are the current and parent directory, as I typically would NOT want to process each of them in my loop.

Other alternatives ... this is Perl so "There is more than one way" ... include:

@files = glob("*");

@files = <*>

@files = `ls`

but although each of these is shorter, they are not recommended for heavy directory traversal applications - in each case, they return you a sorted list of names and that sorting can be useful for a single directory, but wasteful in a heavier application that's going through a large number of directories.


Once you are traversing a directory, you can do all sorts of things - use operators such as -d to find out what is a subdirectory, and -s to find the size of individual contents, for example.

If you want to find the biggest file in or below a directory (perhaps you're running out of disc space?), we have a sample program here from our Perl for larger projects course. The illustration with accompanies this article shows delegates on a private Perl training course, running at their offices in the UK.
(written 2008-10-11, updated 2010-06-23)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P215 - Perl - More about Files
  [3839] Spraying data from one incoming to series of outgoing files in Perl - (2012-08-15)
  [3412] Handling binary data in Perl is easy! - (2011-08-30)
  [3320] Reading the nth line from a file (Perl and Tcl examples) - (2011-06-09)
  [2964] An introduction to file handling in programs - buffering, standard in and out, and file handles - (2010-09-21)
  [2405] But I am reading from a file - no need to prompt (Perl) - (2009-09-14)
  [1709] There is more that one way - Perl - (2008-07-14)
  [1225] Perl - functions for directory handling - (2007-06-09)

P602 - Perl - Advanced File and Directory Handling
  [3429] Searching through all the files in or below a directory - Ruby, Tcl, Perl - (2011-09-09)
  [2876] Different perl examples - some corners I rarely explore - (2010-07-18)
  [1861] Reactive (dynamic) formatting in Perl - (2008-10-31)
  [975] Answering ALL the delegate's Perl questions - (2006-12-09)
  [839] Reporting on the 10 largest files or 10 top scores - (2006-08-20)


Back to
Text formating for HTML, with PHP
Previous and next
or
Horse's mouth home
Forward to
Web Bloopers - good form design - avoiding pitfalls
Some other Articles
Next in the sequence - courses next year (2009)
23:30 bookings and midnight checkins
Seend, near Melksham, Wiltshire
Web Bloopers - good form design - avoiding pitfalls
Processing all files in a directory - Perl
Text formating for HTML, with PHP
Caen Hill and Olivers Castle
Dont bother to write a Perl program
Perl - map to process every member of a list (array)
What a shock
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1832_Pro ... -Perl.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat