#!/usr/bin/perl -w # markus westphal 19.04.2005 use strict; my ($satz,$s2,$s3,@ar,%ass,$index,$awo); #Textlength sortiert mit anzahl worte $satz = "Es regnet blaue Fische und es regnet gelbe Fische"; @ar = split(" ",$satz); for($s3=0;$s3 <= $#ar; $s3++){ #$ass{$ar[$s3]}=length($ar[$s3]); if (!defined($ass{$ar[$s3]})) { $ass{$ar[$s3]} = 1; } else { $ass{$ar[$s3]}++; # erhoehe den zaehler fuer das Wort um 1 } } foreach $index (sort by_value keys %ass) { printf(STDOUT "Das Wort %s kommt %d mal vor und ist %d Zeichen lang \n" , $index, $ass{$index}, length($index)); } sub by_value {$ass{$b} <=> $ass{$a}; }