Here you can find a Perl implementation of the (external link!) eight queens puzzle.

The eight queens puzzle is the problem of placing eight chess queens on an 8×8 chessboard so that no two queens can take each other. Taking rotations and mirroring into account, there is only one symmetrical solution:

8queens

Please read my Disclaimer.

# Die Lösungen des Acht-Damen-Problems
# aus: Niklaus Wirth; Algorithmen und Datenstrukturen; B. G. Teubner, Stuttgart, S. 172
#
# 8 Damen sollen auf dem Schachbrett so aufgestellt werden, dass sie sich
# nicht schlagen können.
#
# Übertragen von PASCAL in PERL von B. Plumhoff
#
 
sub prnt {
        for ($k=1; $k<9; $k++) {
                print $x[$k]." ";
        }
        print "\n";
}

sub try {
        local($i, $j) = @_;
        for ($j=1; $j<9; $j++) {
                if ($a[$j] && $b[$i+$j] && $c[7+$i-$j]) {
                        $x[$i] = $j;
                        $a[$j] = $b[$i+$j] = $c[7+$i-$j] = 0;
                        if ($i < 8) {
                                &try($i+1);
                        } else {
                                &prnt;
                        }
                        $a[$j] = $b[$i+$j] = $c[7+$i-$j] = 1;
                }
        }
}

for ($i=1; $i<9; $i++) { $a[$i] = 1; }
for ($i=2; $i<17; $i++) { $b[$i] = 1; }
for ($i=0; $i<15; $i++) { $c[$i] = 1; }
print "\nDie Lösungen des Acht-Damen-Problems\n";
print '=' x 36;
print "\n" x 2;
&try(1);