also, lange rede, kurzer sinn, du willst eine abfrage, die der folgenden logik entspricht, ja?
WENN username == 'root' ODER username == 'wwwrun' ODER username == 'mail' etc.
das lässt sich erstmal ganz einfach in perl übersetzen:
if ($username eq 'root' or $username eq 'wwwrun' or ...) {
wahrscheinlich ist aber deine frage eher, ob man das verkürzen kann. am einfachsten hingeschrieben wäre hier eine regex:
if ($username =~ m/^(?:root|wwwrun|mail|news|...)\z/) {
man kann aber auch grep verwenden:
if (grep { $username eq $_ } qw/ root wwwrun mail news /) {
wobei die regex evtl. sogar effizienter ist, da sie beim ersten erfolgreichen match aufhort, während grep wirklich alle elemente durchgeht und treffer zählt.
bei nur wenigen elementen ist das aber eh völlig unerheblich.
edit: und ansonsten sei dir perldoc empfohlen. unsere liste von deutschen perldocs ist ein guter anfang:
WebHome
Last edited: 2009-06-19 10:48:21 +0200 (CEST)