谁能解释下这句perl中main后面的::。 这个main是什么?
答案:2 悬赏:60 手机版
解决时间 2021-11-16 07:04
- 提问者网友:星軌
- 2021-11-15 11:34
谁能解释下这句perl中main后面的::。 这个main是什么?
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-11-15 12:38
首先你得明白 perl 里面所有的脚本, 包括模组(.pm) 或是主程序 (youscript.pl) 其实都是包 (package).
因此, 你的主程序其实就是一个默认叫做 main 的包.
另一个你要知道的是, 如果我们想从主程序得到另一个包的内容或涵数时, 我们会写成
$output = &some::package::method( $argv );
或者 $someVar = $some::package::value;
实际的应用上, 当一个模组想要改变, 或存取 main 的行为或内容时, 我们就会写成 $main::... &main::.... 例如, 如果我们自建了一个模组, 想改变 die() 的行为时, 可以写成
$main::SIG{__DIE__} = \&mySub ;
这样一来, 只要 main 发生 die() 的事件时, $main 就会将这个 die 的事件交到你的 mySub() 去处理追问谢谢。我的目录里有很多.pl , .pm 文件。究竟哪个是main呢,我没有找到任何定义。
刚刚接触perl,问个初级的问题。你写的&some::package::method( $argv );里,
some 是什么? 是package的上一级的类吗?追答"你的主程序其实就是一个默认叫做 main 的包"
即是 : 当你在 shell 里输入 "perl myscript.pl" 时, myscript.pl 就是 main
你执行那个 script, 那个 script 就是 main
因为在这个 main 里, 你会继续 "动员" 并他的包去完成工作
&some::package::method 只是英文.. 我的意思只是:
$输出 = &某个类::某个子类::某个涵数( $参数 );
因此, 你的主程序其实就是一个默认叫做 main 的包.
另一个你要知道的是, 如果我们想从主程序得到另一个包的内容或涵数时, 我们会写成
$output = &some::package::method( $argv );
或者 $someVar = $some::package::value;
实际的应用上, 当一个模组想要改变, 或存取 main 的行为或内容时, 我们就会写成 $main::... &main::.... 例如, 如果我们自建了一个模组, 想改变 die() 的行为时, 可以写成
$main::SIG{__DIE__} = \&mySub ;
这样一来, 只要 main 发生 die() 的事件时, $main 就会将这个 die 的事件交到你的 mySub() 去处理追问谢谢。我的目录里有很多.pl , .pm 文件。究竟哪个是main呢,我没有找到任何定义。
刚刚接触perl,问个初级的问题。你写的&some::package::method( $argv );里,
some 是什么? 是package的上一级的类吗?追答"你的主程序其实就是一个默认叫做 main 的包"
即是 : 当你在 shell 里输入 "perl myscript.pl" 时, myscript.pl 就是 main
你执行那个 script, 那个 script 就是 main
因为在这个 main 里, 你会继续 "动员" 并他的包去完成工作
&some::package::method 只是英文.. 我的意思只是:
$输出 = &某个类::某个子类::某个涵数( $参数 );
全部回答
- 1楼网友:北城痞子
- 2021-11-15 14:08
main 是默认的包名,就像当于 C++ 中的最外层的命名空间 "::acl_hash_cache"。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯