2012-08-26 41 views
5

請考慮下面的org-babel中的perl片段,它使用<STDIN>如何將輸入作爲stdin輸入到src_block?

** Ans 2 
    #+begin_src perl :results output 
    use Math::Trig; 
    $rad = <STDIN>; 
    $circumference = 2*pi*$rad; 
    print "Circumference of circle is $circumference"; 
    #+end_src 

是否有可能從另一個塊管道輸入到這個塊?

說:

#+begin_src text :name test-input 
    12.5 
#+end_src 

回答

3

可以從#+results塊直接傳遞到$rad perl腳本:看到passing arguments to code blocks的說明書中無。

這將使

#+begin_src perl :results output :var rad=test-input 

使用輸入

#+results: test-input 
: 12.5 
+0

這似乎是準確的答案。我不確定你爲什麼說「我不這麼認爲」。 – Dodgie

+0

你是對的,我改編了答案。 (原本是因爲我們使用'results'塊,而不是'begin_src文本' - 在編輯之前查看他的問題。) –

+0

啊,好的。涼。 – Dodgie