Standardised languages often have "grey areas" - features or (combinations of) conditions for which no behaviour was defined. Any implementation of the standard may react however it sees fit when it encounters such a condition, either because implementors were explicitly granted such freedom by the standardisation committee, but many times simply out of necessity because this condition was overlooked (or no attention paid to). Another reason for things to be undefined is simply because the standardisation committee couldn't agree on how something should behave.
Examples of UndefinedSemantics include
Perl is amply documented, and pretty much every obvious feature's behaviour is explicitly guaranteed by the documentation. So no, it doesn't "consist entirely of UndefinedSemantics" by a long stretch. --AristotlePagaltzis
Note that UndefinedSemantics means exactly that, if you add "#pragma explode" to your C program, you are not allowed to be surprised that your toilet exploded.
One page links to UndefinedSemantics: