It means that the file doesn't fail to open.
When the Perl opens my file, it checks whether or not my file is the TTY (so that it can answer this -T $fh filetest operator) by issuing the TCGETS ioctl against it. If your file is a regular file and not a tty, the ioctl fails and sets errno to ENOTTY (string value: "Inappropriate ioctl for device"). As the ysth says, the most common reason for seeing an unexpected value in $! will check it when it's not valid -- that is, anywhere other than immediately after a syscall failed, so testing the result codes of your operations is critically important.
If open did return false for you, and you found ENOTTY in $! then you can consider this a small bug (giving a useless value of $!) but I would also be very curious as to how it happened. Code and/or truss output would be nifty.
Come and join Linux training to gain great knowledge.
Do check out the video below