2012-08-17 75 views
1

我有一個perl腳本,它爲我執行了很多配置文件分析並創建了一個包含我需要的所有信息的散列。從Perl腳本接收散列以便在PHP中使用

我想從PHP調用該腳本,並讓PHP獲得散列,以便能夠在PHP中使用散列,而不僅僅是從Perl腳本返回一些html代碼。

這可能嗎?還沒找到任何方法,只是知道我能夠返回大量的html代碼作爲輸出,但這不是我想要的perl腳本。

+1

你知道爲什麼它返回的HTML嗎?是因爲Perl腳本是這樣編程的嗎?通常我會使用bash來運行它並獲取它的輸出,但它聽起來像是HTML。 – Sammaye 2012-08-17 07:34:22

+0

不,也許這寫得有點瘋狂..我知道如何讓Perl腳本生成HTML作爲輸出,並有輸出捕獲的PHP。但我想要的是有hashmap。我寫過這個perl腳本。 – Stefan 2012-08-17 07:35:28

+3

JSON。 Perl可以很容易地生成它。 PHP應該很容易解析它。完成。 – DavidO 2012-08-17 07:36:21

回答

7

最簡單的方法,序列化此散列成json產生的字符串轉換爲STDOUT。

在PHP中,它可以很容易地解碼成數組或對象...

+0

它還沒有輸出json,但我可以輸出json :-) – Stefan 2012-08-17 07:40:57

+0

從CPAN:JSON,可能帶有JSON :: XS後端。不知道什麼PHP工具可以解析它。 – DavidO 2012-08-17 07:42:22

+1

'json_decode()' – Sammaye 2012-08-17 07:43:13

1

如果正在執行PHP平臺允許的情況下,你可以調用exec()函數來執行外部文件,例如:在Perl和打印

$result = exec("/path_to/your_script.pl", $lines, $state); 
+0

-1沒有談論主要問題。 sry – Stefan 2012-08-17 07:36:17

+0

我對你的文本作出了反應:「我想從PHP中調用該腳本......這可能嗎?」。 – Paljas 2012-08-17 07:47:40

+0

我知道,但我不明白,這不是關於調用腳本或接收textoutput(「[..],並讓PHP得到的散列能夠在PHP中使用散列,而不僅僅是返回一些HTML代碼「)沒關係,也不是個人意圖。 – Stefan 2012-08-17 07:50:26