Grade in der Perl NG eine Variante gesehen wie es einfacher geht.
print check('aaaEccc.zzz') ? 'ok' : ' nicht ok';
print check('aaaEccc.zzEEz') ? 'ok' : ' nicht ok';
sub check
{
$_ = shift;
return (/E[^E]+./ && (() = /E/g) == 1);
}
Die Funktion check gibt 1 wenn die Prüfung wahr ist oder undef wenn sie falsch ist zurück.
Struppi.