1 2 3 4 5 6 7 8 9 10 11 12
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
1 2 3 4 5
while($ARGV[0]=~/(\S+)/gcs) { my $n=$1; print $1 if($n=~tr!0-9!!/length($1) > 0.5); }