Hallo Jonas,
Die Bedingung ist schon immer dann erfüllt, wenn nur ein Punkt "." in $file vorkommt.
In den // wird ein regulärer Ausdruck erwartet (perldoc perlre), in denen der Punkt die Bedeutung "ein beliebiges Zeichen" hat. Daher musst Du den Punkt maskieren:
if ($file =~ /./) {
}
Viele Grüße,
Christian