2011-06-30 23 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代碼創建庫的強制性步驟。

但是,你真的需要做一些基本的閱讀,至少要先學習語言的基礎知識。