Die Lösung war leichter ;) Danke trotzdem!
my $s_count = 0;
my $spml = $main->{settings}{smileys_per_message_limit};
if ($spml < 0 || $main->hasPermission('ignore_smileys_per_message_limit')) {
$$text =~ s/([^\s<>]+)/($self->{smileys}{$1}||$1)/ge;
}
else {
$$text =~ s/([^\s<>]+)/($self->{smileys}{$1} && $s_count++<$spml ? $self->{smileys}{$1} : $1)/ge;
}