sub md { my $n=$_[0]=~tr!0-9!!/length $_[0]; warn "^N: $_[0], n=$n\n"; $n; } print $1 while $ARGV[0]=~/ (?:^|(?<=\s)) # Wortgrenze (\S+(?=\s|$)) # das Wort als $1 inkl. Begrenzung (?(?{md($^N)<=0.5}) # die Bedingung (negiert) \A # schlägt an dieser Stelle immer fehl ) /gx