use strict; use warnings; use Data::Dumper; my @list = ("-----%s----%a----%d--%s-%d---" =~ m/\%./g); print Dumper \@list; __END__ $VAR1 = [ '%s', '%a', '%d', '%s', '%d' ];