in reply to specifying file extension in opendir function

Try the following use of a while loop if it fits in with your application logic. It is a neat short cut that may work for your app. The <pattern> construct uses the glob function internally. Details on the patterns that you can use in File::Glob

while (</apps/inst2/metrica/ON-SITE/backup/schema/*.tdef>){ print; }

The while loop gets to process the files that match the pattern.