Subject: | link() does nor return the correct error on existing files |
When using the link() built-in to link to an existing file, the function
fails and sets $! to EINVAL. On other systems, EEXIST is used.
This seems to violate the POSIX standard
(http://pubs.opengroup.org/onlinepubs/009695399/functions/link.html) that
does not even list EINVAL in its list of possible errors.
Note that, in this case, $^E is set to ERROR_ALREADY_EXISTS (Cannot
create a file when that file already exists) so the problem may simply
bet a mapping between $^E and $!.