Notepad++运行Perl脚本需调用系统perl.exe解释器,关键前提是perl.exe在PATH中或路径正确;F5配置命令如cmd /k "perl_path" -w "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE可快速执行,但NppExec插件配合cd "$(CURRENT_DIRECTORY)"才能确保工作目录正确并稳定支持相对路径和调试。

Notepad++ 本身不提供 Perl 编译环境——Perl 是解释型语言,perl.exe 执行的是解释而非编译。你真正需要的,是让 Notepad++ 能调用系统已安装的 Perl 解释器,并在当前文件目录下稳定运行、看清输出结果。只要 perl.exe 在系统 PATH 中或路径写对,这件事就能做成,不需要额外“编译环境”。
确认 perl.exe 是否可用且路径正确
这是最关键的前置条件。Notepad++ 只负责调用,不自带解释器。
- 打开命令提示符,输入
perl -v;如果返回版本信息(如This is perl 5, version 38...),说明已就绪 - 如果报错
'perl' is not recognized as an internal or external command,说明没加进 PATH,或根本没装 Perl - 常见安装路径有:
C:\Perl\bin\perl.exe(ActivePerl)、C:\Strawberry\perl\bin\perl.exe(Strawberry Perl);路径必须精确到perl.exe文件本身 - 若路径含空格(如
C:\Program Files\...),务必用英文双引号包裹整个路径,否则cmd会截断
用 Run 菜单快速配置(最轻量,适合单语言)
不装插件也能跑,但默认工作目录是 Notepad++ 安装目录,不是你的脚本所在目录——这点极易导致 open 或 require 失败。
- 在 Notepad++ 中按
F5,弹出「Run」对话框 - 输入完整命令,例如:
cmd /k "C:\Strawberry\perl\bin\perl.exe" -w "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE -
$(FULL_CURRENT_PATH)是 Notepad++ 内置变量,自动展开为当前 .pl 文件的绝对路径 -
& ECHO. & PAUSE作用是让窗口停留,否则一闪而过;PAUSE等待回车,ECHO.输出空行提升可读性 - 点「Save...」,起个名字如
Run Perl,建议绑定快捷键(如F9)
用 NppExec 插件解决工作目录问题(推荐,尤其多文件项目)
仅靠 Run 菜单无法自动切换到脚本所在目录,chdir 或相对路径操作会失败。NppExec 是唯一可靠解法。
- 先通过「Plugins → Plugins Admin」安装
NppExec(需重启 Notepad++) - 菜单进入「Plugins → NppExec → Execute...」,输入以下内容:
cd "$(CURRENT_DIRECTORY)" "C:\Strawberry\perl\bin\perl.exe" -w "$(FULL_CURRENT_PATH)"
run perl
run perl 加入菜单,并拖到「Macro」下——这样它会固定出现在菜单底部cd 命令可能被忽略调试时别漏掉 -d 参数和终端交互
用 perl -d 启动调试器,但默认情况下 Notepad++ 的控制台不支持 readline 式交互(比如打 n 单步、c 继续),会卡住。
- 调试命令应为:
cmd /k "C:\Strawberry\perl\bin\perl.exe" -d "$(FULL_CURRENT_PATH)" - 不要加
& PAUSE,否则调试器启动前就停住,无法输入命令 - 首次调试时,终端会显示
DB提示符,此时可输入h查帮助、n下一行、p $var打印变量 - 如果发现按回车没反应,检查是否误启用了 NppExec 的「Show console dialog」但没勾选「Follow $(CURRENT_DIRECTORY)」——路径错会导致模块加载失败,进而阻塞调试器初始化
最容易被忽略的是工作目录和路径空格:哪怕 perl.exe 调用成功,open "data.txt" 仍可能失败,因为程序其实在 Notepad++ 安装目录下找文件。NppExec 的 cd "$(CURRENT_DIRECTORY)" 不是可选项,是必选项。


















