#!D:/perl/bin/perl.exe -w use strict; use File::Find; my @list = qw(.); find ( \&recurse, @list ); sub recurse { my $file = $File::Find::name; productionize ( $file ); } sub productionize { my $fileName = shift; return if $fileName !~ /[\w]+\.(?:cgi|p[lm])$/; print "Processing $fileName\n"; open FILE, "<$fileName" or die "Can't open $fileName for reading: $!"; #do stuff close FILE; }