Without a module:
use strict;
use warnings;
my @files = ('blah.config', 'boo.config', 'big.config');
for my $file (@files) {
print ((split /\./, $file)[-1] . "\n") ;
}
Explanation: The for loop iterates over the @files array, placing each element in the $file variable. Inside the loop, the $file is passed through a split which divides the string into chunks based on the regular expression inside the slanted lines, in this case a period escaped with a backslash. Without the backslash, period would not be a literal period and could be any character. Read up on "regular expressions" if you aren't familiar. The split function returns an array of all the chunks (in your case, two chunks) for each file name. Since we are interested in the last element of the array (everything following the last period), we can access it with the [-1] there outside of the parentheses. Read up on arrays if you aren't familiar with array syntax. All this gets passed to a print function which we add a new line to with the second period you see there (this is called string concatenation).
See File::Basename for doing it with a module.