use File::Basename qw(fileparse); my ($path,$file,$suffix) = fileparse ("filename", "\.[^\.]+$"); #### @lines = grep { /\.tif$/i } readdir (DIR);