]> git.zerfleddert.de Git - micropolis/blob - src/tclx/tclsrc/forrec.tcl
8c6ea3e18d7f45f009a86e19d9f8601d1bcdcada
[micropolis] / src / tclx / tclsrc / forrec.tcl
1 #
2 # forrecur.tcl --
3 #
4 # Proc to execute code on every file in a recursive directory glob.
5 #------------------------------------------------------------------------------
6 # Copyright 1992 Karl Lehenbauer and Mark Diekhans.
7 #
8 # Permission to use, copy, modify, and distribute this software and its
9 # documentation for any purpose and without fee is hereby granted, provided
10 # that the above copyright notice appear in all copies. Karl Lehenbauer and
11 # Mark Diekhans make no representations about the suitability of this
12 # software for any purpose. It is provided "as is" without express or
13 # implied warranty.
14 #------------------------------------------------------------------------------
15 # $Id: forrecur.tcl,v 2.0 1992/10/16 04:52:00 markd Rel $
16 #------------------------------------------------------------------------------
17 #
18
19 #@package: TclX-forrecur for_recursive_glob
20
21 proc for_recursive_glob {var globlist code {depth 1}} {
22 upvar $depth $var myVar
23 foreach globpat $globlist {
24 foreach file [glob -nocomplain $globpat] {
25 if [file isdirectory $file] {
26 for_recursive_glob $var $file/* $code [expr {$depth + 1}]
27 }
28 set myVar $file
29 uplevel $depth $code
30 }
31 }
32 }
Impressum, Datenschutz