On Mon, 8 Apr 2002, Jean-Pierre wrote: > Although I have entered tpr(0,2) as a veteran, although I am in fact a > veteran, I am also a perl's newbie. I play golf because it is fun, of course, > but also because it helps me to read perldoc more and more. > > So : I caught the construction "sort/./g", used by 60% of the solutions, on > the web, querying for "perl anagram". > > This was fine and good for me, but I do not understand how it works, and I > am unable to find a place (web or doc or book) where I can find an > explanation : where is the dictionary? from where are growing these words? > > Could someone give me either an explanation or a link? >
First, sort puts its arguments into list context. In list context, as long as there is () in the pattern or the /g switch, // does not just return 1 if the match succeeds, but the parts matched (parentheses if there were any, otherwise all the bits matched if there was the /g switch). Read man perlop or Chapter 5 of the Camel book for the details of this. Here /./g matches all the letters in $_ individually, so in list context /./g returns a list of all the letters in $_. This is then sorted by the sort, and two words are anagrams if and only if they agree about their sorted letters. -- Stephen Turner, Cambridge, UK http://homepage.ntlworld.com/adelie/stephen/ "This is Henman's 8th Wimbledon, and he's only lost 7 matches." BBC, 2/Jul/01