Example of a Tcl switch using regular expressions to match file extentions. The leading '***:(?i)' is to enable advanced regular expressions (ARE), in case insensitive mode.
switch -regexp -- $file { ***:(?i).*\.ids {set type ICS} ***:(?i).*\.ics {set type ICS} ***:(?i).*\.tif.? {set type TIFF} default {set type UNKOWN} }