- 论坛徽章:
- 95
|
原帖由 andyxie407 于 2008-12-13 11:23 发表
没想到大家还在这里讨论呵呵,我原来的本意是想自己做个像$ENV{},$^O这样真正意义上的变量,每个程序都可以,估计PERL里好象没有这样的功能,有的就说说呀。
你这是要修改 Perl 解释器 perl 的行为,那很简单,直接改它就完了。
另外,像 %ENV,$^O 这些变量,要么是通过环境获取,要么是编译 perl 时搜集到的信息,它们并不能用来在各个不同的程序之间通信,即使是单向通信。在现代的基于进程的 os 上,一个进程想要给在它结束后启动的进程留一些信息,必须通过一些持续存在的(至少是在接收信息的进程启动之前存在的)的介质,例如文件,例如共享内存。你设想的这种变量的方式根本就无法实现,这不是 Perl 本身的限制,而是 OS 的限制。当然,这种限制也是可以避过的,在一些开发环境中,例如 Smalltalk 的 Squeak,它在退出时会将当前环境的所有状态信息保存在一个文件中,启动时加载这个文件,环境就回到和退出前一样的状态。
[ 本帖最后由 MMMIX 于 2008-12-13 13:45 编辑 ] |
|