fast_abs_path
调用chdir让内核解析导致你一次传递它的路径,而不是仔细检查每个组件并逐个构建新路径;问题是权限可能会阻止它随后回到原始目录. (有些系统可以使用open和fchdir来
解决这个问题,但是在Perl运行的所有平台上都无法可靠地使用它.)
是否可能发生这种情况取决于您的脚本是否可以在无法直接访问的目录中执行.在类Unix系统上,这可能发生在setuid包装器chdirs到受限权限区域然后丢弃setuid时. (历史上,受限制的权限位于名为lock的路径组件上;各种邮件和Usenet新闻子系统都使用它来保护其队列目录.)