perl(良好实践):socket的词法文件句柄
发布时间:2020-12-15 21:55:54 所属栏目:大数据 来源:网络整理
导读:在perdoc Socket页面中,他们使用全局文件句柄作为套接字. 但是如果我在子进程调用的子例程中创建一个套接字,那么使用Socket仍然可以更好地使用词法文件句柄吗? 像这样: use strict;use Socket;sub sendData{ my $proto = getprotobyname('tcp'); my $socke
在perdoc
Socket页面中,他们使用全局文件句柄作为套接字.
但是如果我在子进程调用的子例程中创建一个套接字,那么使用Socket仍然可以更好地使用词法文件句柄吗? 像这样: use strict; use Socket; sub sendData { my $proto = getprotobyname('tcp'); my $socket; socket($socket,PF_INET,SOCK_STREAM,$proto); ... close($socket) } 代替: sub sendData { my $proto = getprotobyname('tcp'); socket(SOCKET,$proto); ... close(SOCKET) } 它似乎没问题,但我不知道这是一种更好的做法还是完全无用的…… 谢谢 解决方法
是的,使用词法文件句柄是一种更好的做法.但是Perl 5.0没有它们,所以有很多旧的代码和文档使用全局文件句柄,其中大部分还没有更新为使用词法.
附:你知道你可以说 socket(my $socket,$proto); 而不是把我放在上一行,对吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |