Oh yes -- Algorithms::Pair::Swiss and Games::Tournament::Swiss are in CPAN. One thing about Swiss system is that it ranks players by their play in the tournament as well as their rating. That 2500 rated IM may end up playing with the experts if he starts losing in a big American Swiss.
Comment on Re^2: Algorithm problem: Order matches by difference between players