in reply to Wildcards and Files

Like imp said, first you expand the globs with glob function and then you do what you want with the result you got.

my @files = glob('*.*'); # or 'test.*' or '*.txt' for my $file (@files) { # ... }
As you mentioned DOS wildcards, maybe the semantics of glob that comes from Unix does not match exactly what you want. Then you should take a look at File::DosGlob.

Another sidenote: $file = /\*\.\*/ and $file = ".\.\*" won't work. You're using the '=' operator when you'll want '=~' (match operator) or 'eq' (string comparison). But even so, $file =~ /\*\.\*/ will match more than you want, like 'a*.*b' and so $file eq '*.*' would be preferred.