?

Log in

No account? Create an account

September 30th, 2007

fedora 蓝色小药丸

our, local, my

多谢 Hellwolf 说到黑豹书, http://www.unix.org.ua/orelly/perl/advprog/ch03_01.htm

这两天一直抱着打印的几张骆驼书, http://www.pgsqldb.org/mwiki/index.php/ProgrammingPerl  看了又看,就是搞不清为什么我 my $a = 1, *b = *a 什么都拿不到。 Hellwolf 说,“这里面的问题是 my 声明的变量没有typeblobs”。(刚才又试,才知道 a 和 b 都必须预先用 our 声明好,因为那个表达式是有两个 blobs 的。不声明 our $b 的话,记得书上说会创建一个匿名引用(?),却没办法使用 $b,也不会自动创建 %b 或者 @b)

书上说,“local operator does not create new variable”。local 可以改变全局变量的值,却不改变全局变量的作用域,因此被调用的函数都可以看到改变后的值。我想倒是可以把 local 理解成 xslt2 的参数传递管道。这种东西是很方便的呀。和 xslt 的 single assignment 不一样,用 local 可以在同一个函数里多次改变全局变量的值,这里肯定容易出错。

use strict 是必需的,不然不加修饰的变量默认是 our 声明的。用了 strict 之后,所有变量要么是 my,要么就是 our 了。在函数中的 our 不会自动进入被调用函数的词法范围,必须在那里再用 our 声明一次,所以不好用。
Tags:
fedora 蓝色小药丸

如果 twitter 可以发汇总邮件到 LJ 就好了

有些话用 twitter 说就够了,因为确实很少,然而又希望 LJ 可以捡起他们,在这里珍藏。
Tags:
fedora 蓝色小药丸

open

perldoc -f open 或者 perldoc perlopentut。有个 reopen 的概念,Hellwolf 说是 dup2()。在 POSIX 模块也有一个 dup2 不过不知道怎么判断返回值,而 open 就可以判断 @!

今天收获不少。一整天都在学习 perl 了,却忘记了工作上的事情。也罢,来加班吧。

今天还知道了 putty cygwin 可以设置 translation charset 的。这样,可以实现输入和编辑中文。终端下,vi 和 emacs 都没有问题。这岂不是意味着可以在公司做翻译的事情了。退一万步,有了一个比 gnome-terminal 还好的终端,感觉真好。设置了 ssh 远程访问(key auth),再使用 screen,再结合这么好的 terminal,简直是太高兴了。Hahahaha!

黑色背景的 putty cygwin 窗口中,vi 最好的 colorscheme 是 torte

Tags: ,