http://qs1969.pair.com?node_id=212177

AltBlue has asked for the wisdom of the Perl Monks concerning the following question:

In a friendly discussion, we reached to arguing which language has the longest words so I just baked a gadget that grabs a web page from some URL, strips off HTML code, switches to the appropriate locale and then passes the preparsed text to a routine that returns a list with the longest words.
Simple. Heh, we settled that Germans use by far more lengthy words than others :)
Yet, my perl issue is that I really wonder what would be a shorter solution for my longest_words routine. Here is the code, in a complete test case snippet:
#!/usr/bin/perl -Twl use strict; use List::Util qw(max); my @lw = longest_words(join '', <DATA>); local $" = ', '; print length($lw[0]), ' letters: ', "@lw"; sub longest_words { local $_ = $_[0]; my %W; $W{$1} = length($1) while /\b(\w+)\b/sg; my $ll = max values %W; return grep { $W{$_} == $ll } keys %W; } __DATA__ three four five six seven eight nine foobar obsolescent superfluous inevitable pseudohash pseudonym pseudopod

--
AltBlue.