2011-06-30 53 views
0

其实我有一个想法,但要做到这一点,我需要你的帮助。告诉我有什么方法可以在Perl脚本中创建一个库?我的意思是在perl中创建一个库的命令是什么?我如何将这个库包含在我的c程序中并运行它?我在某处读过你可以将你的perl脚本嵌入到你的c程序中,但是我怎样才能做到这一点?我想用perl脚本在字符串上创建一个特殊的库,并在我的c程序中使用它。帮帮我。谢谢。如何在c程序中嵌入perl脚本?

+0

你需要运行你的输入Perl脚本并获取输出。 – Blender

+0

有趣,它没有任何意义 – cody

+0

在C中嵌入Perl是可能的,但只有当你阅读Perl的文档:perlembed。即使那样,它也不是微不足道的。也许如果你能告诉我们你想完成什么任务(不是你想如何完成它,而是你真正想要做什么),我们可能会帮助你找到一个更为人们所能接受的解决方案。 – DavidO

回答

0

当然,Perl中,您可以通过创建模块重用代码:

Foo.pm

package Foo; 

use strict; 
use warnings; 

sub bar { 
    print "foobar"; 
} 

1; 

之后,可以重用代码的脚本,如:

foobar.pl

#!/usr/bin/env perl 

use strict; 
use warnings; 

use Foo; 

Foo::bar; 

引用自己(cody):

家伙Perl是不容易我以为它 如此混乱的事情。

要学Perl,尝试下面的一本书就像学习Perl或教程在互联网上像Perl Beginners' SiteLearn Perl

+0

嘿等一下这些foo :: bar是什么意思? – cody

+0

这是在包'foo'中调用函数'bar'的语法。 –

+0

如何在perl中包含库路径 – cody

-1

在大多数情况下,要做到这一点是通过系统调用的最佳方式:

#include <stdlib.h> 

int main() 
{ 
    int RetVal, Arg1, Arg2; 
    RetVal=system ("perl Script.pl Arg1 Arg2"); 
    return 0; 
} 

如果您还需要分析脚本的输出,可以将其重定向到某个文件和读取文件C

+0

确定它运行perl脚本,但如果我想要将c变量传递给perl程序,请执行一些操作,并将它们返回,就像以类似的方式将函数以类似的方式传递给其他函数一样。0或1是什么? – cody

+0

如何在perl中包含库路径 – cody

+0

以及为什么发送arg1和arg2? – cody

6

要在C程序中实际包含perl解释器并能够执行perl代码,请参见http://perldoc.perl.org/perlembed.html。由于perl是一种解释型语言,因此不需要从您的perl代码创建库的强制性步骤。

但是,你真的需要做一些基本的阅读,至少要先学习语言的基础知识。