use strict; use warnings; my @tests = ( ".", "", "A sentence.", ".gitignore", "word.doc", "a.dotted.name", ); print /^.*(\..*)$/ ? "Matched '$1' in " : "Failed", " '$_'\n" for @tests; #### Matched '.' in '.' Failed '' Matched '.' in 'A sentence.' Matched '.gitignore' in '.gitignore' Matched '.doc' in 'word.doc' Matched '.name' in 'a.dotted.name'