如何从Perl打印ncurses版本

时间:2013-08-07 05:28:03

标签: perl ncurses

如何打印ncurses库的版本?我使用Curses中的Perl库。我不太关心CTAN包的版本,根据我的理解,它只是访问curses库的接口。

我从这里下载了ncurses的最新(不稳定)版本: http://invisible-island.net/datafiles/current/ncurses.tar.gz

我编译时没有错误(只有./configuremake)但尚未完成sudo make install

我想知道如何(1)检查安装了哪个版本的curses,最终(2)在版本之间切换。

请注意,我在Ubuntu 13.04上。也许以下信息是有用的:

$ locate ncurses.h
/usr/include/ncurses.h
$ locate curses.h
/usr/include/curses.h
/usr/include/ncurses.h
/usr/include/python2.7/py_curses.h
$ 

2 个答案:

答案 0 :(得分:2)

您的系统上是否有ncurses5-config(或ncurses-configncurses4-config等...)?例如,我可以在我的CentOS 6系统上执行此操作:

$ ncurses5-config --version
5.7.20090207

你也可以从perl调用:

my $ncurses_version = qx(ncurses5-config --version);

如果您使用的是不同的主要版本,则可能需要尝试几个ncurses*-config命令,例如:

my $nc_version;
for my $nc (qw'ncurses-config ncurses5-config ncurses4-config') {
  no warnings 'exec';
  $nc_version = qx($nc --version) and last;
}
print "nc_version=$nc_version\n";

希望这可以帮到你,  基督教

答案 1 :(得分:2)

似乎确实Curses.pm中没有函数来获取当前(n)curses版本。 您可以编写一个小型C程序来获取值:

/* compile with "cc -lcurses filename.c" */
#include <curses.h>
main() {
  printf("%s\n", curses_version());
}

在我的系统上打印ncurses 5.7.20100313

但是也可以从Curses.pm获得curses_version()函数也很好 - 也许可以询问Curses.pm作者?