home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / cbb / file.pl < prev    next >
Perl Script  |  1998-10-07  |  3KB  |  91 lines

  1. #!/usr/bin/perl
  2. #  file.pl - routines to help with file management
  3. #
  4. #  Written by Curtis Olson.  Started April 22, 1994.
  5. #
  6. #  Copyright (C) 1994 - 1997  Curtis L. Olson  - curt@sledge.mn.org
  7. #
  8. #  This program is free software; you can redistribute it and/or modify
  9. #  it under the terms of the GNU General Public License as published by
  10. #  the Free Software Foundation; either version 2 of the License, or
  11. #  (at your option) any later version.
  12. #
  13. #  This program is distributed in the hope that it will be useful,
  14. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. #  GNU General Public License for more details.
  17. #
  18. #  You should have received a copy of the GNU General Public License
  19. #  along with this program; if not, write to the Free Software
  20. #  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22. # $Id: file.pl,v 2.5 1997/01/18 03:28:43 curt Exp $
  23. # (Log is kept at end of this file)
  24.  
  25.  
  26. package CBB;
  27.  
  28. use strict;   # don't take no guff
  29.  
  30.  
  31. # given a directory and an extension mask (: separated list) return a
  32. # list of files that match (including all directories)
  33. sub get_files {
  34.     my($dir, $mask) = split(/ +/, $_[0]);
  35.     my($file, $ext, $count, @files, @sorted);
  36.  
  37.     print DEBUG "Directory = $dir\n";
  38.     print DEBUG "Mask = $mask\n";
  39.  
  40.     $count = 0;
  41.  
  42.     opendir(DIR, $dir);
  43.     $file = readdir(DIR);    # skip "."
  44.     $file = readdir(DIR);    # skip ".."
  45.     $file = readdir(DIR);
  46.     while ( defined($file) ) {
  47.     $ext = &file_extension($file);
  48.     # print "$file --- $ext\n";
  49.     if ( (($mask =~ m/:$ext:/) && ($file ne $ext)) || (-d "$dir/$file") ) {
  50.         # print "$file\n";
  51.         $files[$count] = $file;
  52.         $count++;
  53.     }
  54.     $file = readdir(DIR);
  55.     }
  56.     closedir(DIR);
  57.  
  58.     @sorted = sort @files;
  59.     foreach $file (@sorted) {
  60.     print "$file\n";
  61.     }
  62.     return "//none//";
  63. }
  64.  
  65.  
  66. 1;                # need to return a true value
  67.  
  68.  
  69. # ----------------------------------------------------------------------------
  70. # $Log: file.pl,v $
  71. # Revision 2.5  1997/01/18 03:28:43  curt
  72. # Added "use strict" pragma to enforce good scoping habits.
  73. #
  74. # Revision 2.4  1996/12/17 14:53:56  curt
  75. # Updated copyright date.
  76. #
  77. # Revision 2.3  1996/12/11 18:33:35  curt
  78. # Ran a spell checker.
  79. #
  80. # Revision 2.2  1996/07/13 02:57:43  curt
  81. # Version 0.65
  82. # Packing Changes
  83. # Documentation changes
  84. # Changes to handle a value in both debit and credit fields.
  85. #
  86. # Revision 2.1  1996/02/27  05:35:42  curt
  87. # Just stumbling around a bit with cvs ... :-(
  88. #
  89. # Revision 2.0  1996/02/27  04:42:56  curt
  90. # Initial 2.0 revision.  (See "Log" files for old history.)
  91.