use 5.10.34;
$_ = "1";
sub func() {
$_ = "2";
}
func;
print;
这段代码, 用perl执行结果是2. 而且也应该是2. 用babel执行, 得到的, 竟然是1, 这是咋回事:
#+begin_src perl
use 5.10.34;
$_ = "1";
sub func() {
$_ = "2";
}
func;
print;
#+end_src
#+RESULTS:
: 1
use 5.10.34;
$_ = "1";
sub func() {
$_ = "2";
}
func;
print;
这段代码, 用perl执行结果是2. 而且也应该是2. 用babel执行, 得到的, 竟然是1, 这是咋回事:
#+begin_src perl
use 5.10.34;
$_ = "1";
sub func() {
$_ = "2";
}
func;
print;
#+end_src
#+RESULTS:
: 1
The result is
1
because1
.
output 和 result 是两回事。
在header里头,你得加上output
#+begin_src perl :results output
use 5.10.34;
$_ = "1";
sub func() {
$_ = "2";
}
func;
print;
#+end_src
是的, 我错了, 谢谢大家.
在整个buffer的开头加上"#+PROPERTY: header-args:perl :results output"
, 为了生效, 我先再kill-buffer, 再打开文件, 然后就可以了.
M-x revert-buffer 就行了