解释 ./ 为什么能在当前目录下执行perl 文件

./能在当前目录下执行任何可执行文件,和perl无关,这是shell方面的问题,.代表当前目录,..代表父目录。perl之所以可执行是因为里面第一行的:#!/usr/bin/perl。
当前目录下的文件找不到

大概很多Linux新手都碰到过这样的问题:明明这个执行文件就在当前目录下,可敲入文件名称系统却提示找不到该命令?

在 Linux下,系统只依据环境变量$PATH来搜索可执行命令,即便该命令就在当前目录也不例外。在执行当前目录下的文件时,需要在前面加上“./”,如./myapp。另外一种解决办法是,在/etc/profile中修改$PATH变量,在最后加上“ :. ”。这样,系统就多了一个搜索执行文件的位置,就是“.”,也就是当前目录。该变量生效后,就可以如Windows一样随意执行当前文件了。 字串1
这种东西在win下不能执行

在linux下如果脚本有权限,可执行
Lunix/Unix下,这个用法是把perl当作shell来用,在perl脚本的第一行一般是perl解释器所在的路径。在给perl脚本可执行权限之后,就可以用./scriptname来运行perl了。
在windows下,只要你windows下.pl文件与perl解释器关联,并且脚本的扩展名也是.pl,那么./scriptname.pl就会用perl解释器打开perl脚本,那就被解释执行了。
我只这么理解的。