#!/usr/bin/perl use strict ; use warnings ; my @inp = ("abc_A_bla", "abc_B_bla", "abc_C_bla") ; my %inp ; $inp{ $1 } = /\w{3}_(\w)/ || next for @inp; foreach ( keys %inp ) { print "Found $_\n" ; }