Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Emacs中设置解释器的路径,以便使用perldb进行Perl调试_Perl_Debugging_Emacs - Fatal编程技术网

在Emacs中设置解释器的路径,以便使用perldb进行Perl调试

在Emacs中设置解释器的路径,以便使用perldb进行Perl调试,perl,debugging,emacs,Perl,Debugging,Emacs,当我键入M-x perldb来调试我的Perl脚本时,调试会话失败,我想这是因为我在脚本的开头有一行代码说: use 5.010 Emacs Perl调试器抱怨: Perl v5.10.0 required--this is only v5.8.6, at /path/to/file 我认为它正在加载一个旧的Perl解释器(在我的系统中安装的默认解释器)。但是,我在不同的路径上安装了一个更新得多的解释器,因此如何在Emacs中告诉perldb我希望它使用的解释器路径?在perldb.el

当我键入
M-x perldb
来调试我的Perl脚本时,调试会话失败,我想这是因为我在脚本的开头有一行代码说:

use 5.010
Emacs Perl调试器抱怨:

 Perl v5.10.0 required--this is only v5.8.6,
 at /path/to/file

我认为它正在加载一个旧的Perl解释器(在我的系统中安装的默认解释器)。但是,我在不同的路径上安装了一个更新得多的解释器,因此如何在Emacs中告诉
perldb
我希望它使用的解释器路径?

perldb.el
的版本中,我看到以下代码:

   (defvar perldb-command-name "perl"
     "*Pathname of Perl interpreter.")

我确信,如果您重新定义此变量的值,或者设置
PATH
环境变量,以便
perl
调用5.10版本的perl,一切都会对您有效。

perldb.el
的版本中,我看到以下代码:

   (defvar perldb-command-name "perl"
     "*Pathname of Perl interpreter.")

我敢肯定,如果您重新定义这个变量的值,或者设置
PATH
环境变量,以便
perl
调用5.10版本的perl,一切都会对您有用。

Hmm,我尝试过,但没有用。此外,我认为您需要在变量名中添加前缀
gud-
,即从我在谷歌搜索中看到的,变量名是
gud perldb command name
实际上,我甚至没有
perldb.el
。Perl调试器现在是否可能是Emacs的一部分?您正在使用哪些Emacs
perldb
可能是emacs发行版的标准配置,但它仍将在emacs lisp中实现,并且会有一个
.el
源文件。我还将尝试设置
$PATH
,将您的
perl
放在找到的任何perl之前。请在启动emacs之前执行此操作。谢谢user5402。我正在运行Emacs
23.1.1
。我在系统中到处寻找
perldb.el
文件,但找不到它。我的
.zshrc
中有一个别名
alias perl=/path/to/desired/perl
,当我从命令行运行perl脚本时,它们会运行正确的解释器。别名不起作用。必须修改PATH环境变量以包含5.10 perl所在的目录,并且该目录必须位于标准perl所在的目录之前。你在用什么操作系统?嗯,我试过了,但没用。此外,我认为您需要在变量名中添加前缀
gud-
,即从我在谷歌搜索中看到的,变量名是
gud perldb command name
实际上,我甚至没有
perldb.el
。Perl调试器现在是否可能是Emacs的一部分?您正在使用哪些Emacs
perldb
可能是emacs发行版的标准配置,但它仍将在emacs lisp中实现,并且会有一个
.el
源文件。我还将尝试设置
$PATH
,将您的
perl
放在找到的任何perl之前。请在启动emacs之前执行此操作。谢谢user5402。我正在运行Emacs
23.1.1
。我在系统中到处寻找
perldb.el
文件,但找不到它。我的
.zshrc
中有一个别名
alias perl=/path/to/desired/perl
,当我从命令行运行perl脚本时,它们会运行正确的解释器。别名不起作用。必须修改PATH环境变量以包含5.10 perl所在的目录,并且该目录必须位于标准perl所在的目录之前。你在用什么操作系统?