Slightly outdated explanation:
Explanation
l~ ),{_A%g1$s_6890s-!\_69s_W%erW%=!&&'.*N}/
l~ "Read an eval input.";
), "Get range from 0 to n.";
{ }/ "For each...";
s__ _ "Convert to"Get stringa andcopy getof twothe copiesinteger.";
A%g 0689s-! "Contains"Ends rotation-safewith digitsdigit other than 0?";
1$s_ \ "Get another copy, convert to "Swapstring, withget othera copy.";
iA%g 0689s-! "Ends with digit other"Contains thanrotation-safe 0digits?";
& \ "Swap with other "ANDcopy.";
{ _ }* "Get "Ifanother true..copy.";
__ 69s_W%er "Make"Swap two6 moreand copies9.";
69s_W%er W% "Swap 6 and 9"Reverse.";
W% =! "Is different from "Reverse.original?";
=! && "Is"AND differentall fromthree original?conditions.";
'.* "If sotrue, push a period.";
(else, an empty string).";
N N "Push a newline.";