如何在C中调用Perl,希望大家能给个简单的例子

如何在C中调用Perl,希望大家能给个简单的例子,第1张

集成进来的话,大概是这样

例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include <EXTERN.h> /* from the Perl distribution */

#include <perl.h>/* from the Perl distribution */

static PerlInterpreter *my_perl /***The Perl interpreter***/

int main(int argc, char **argv, char **env)

{

PERL_SYS_INIT3(&argc,&argv,&env)

my_perl = perl_alloc()

perl_construct(my_perl)

PL_exit_flags |= PERL_EXIT_DESTRUCT_END

perl_parse(my_perl, NULL, argc, argv, (char **)NULL)

perl_run(my_perl)

perl_destruct(my_perl)

perl_free(my_perl)

PERL_SYS_TERM()

}

perl 的图形有两种玩法, Tk 和 Tkx. Tk 是纯 Perl 的, 但能用的 widget (即那些 button, menu, scrollbar... )比较少Tkx 则需要你先装有 Tcl/Tk , 但能用的 widget 比较多. 一个最简单的例子就是

use Tk# 导入 tk 模组

use strict

my $mw = MainWindow->new# 创建窗口

my $labelObj = $mw->Label(-text =>'Hello, world!')# 创建一个 label 物件

$labelObj ->pack# pack() 是将物件程现的方法, 你再翻翻书, 还有 grid() 和 place() 的风格

$mw->Button(

-text=>'Quit',

-command =>sub { exit },

)->pack

MainLoop# 每个 tk 程序都要等到呼叫 MainLoop 才会出现.

最後, 你还得知道一个(差不多)每个物件都会的方法, 叫 configure, 你会以此对物件进行重新定义, 或附加设定

perldoc -u -f atan2

是perldoc 命令行 ,可以得到 perl 中atan2 函数的说明

system 是在perl 中调用这个命令行,反引号也可以实现同样的功能

然后把得到的内容放到数组

然后 正则替换内容, \w 代表一个数字、字母或下划线

匹配 以一个\w 开头,被<>括起来的内容 ,后面的 $1 代表的是前面括号括起来的内容,\U 代表大写,g代表 全部替换;

就是 像 X<atan2>会被替换为 ATAN2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11472916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存