I have answered on pl.comp.lang.perl with one of my favorite one-liners (how to sort list of <a href=...>name</a> lines by names: print sort { ( $a =~ />(.*)</ )[0] cmp ( $b =~ />(.*)</ )[0] } <>; - not very efficient but fits in one line :-) ) then friend of mine pointed to me, that perlop lies about =~'s return value: Binary "=~" binds a scalar expression to a pattern match. [...] or transliterated instead of the default $_. The return value indicates the success of the operation. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Which is true only in scalar context - in list context it returns the same value as patter match operator itself (well, I didn't check for operators others than m// but I hope perl is consistent at last here :-) ). I hope someone will fix perlop manpage in next revision (althought it is very intuitive and I guess much people are using this not knowing it is actually "undocumented feature" :-) ). Greetings -- Piotr Pi±tkowski, Kraków perl -le 's**02).4&9%4^[./4(%2^0%2,^([#+%2&**y%& -;^[%"`-{ a%%s%%$_%ee'Thread Next