perl(良好实践):socket的词法文件句柄

前端之家收集整理的这篇文章主要介绍了perl(良好实践):socket的词法文件句柄前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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);

而不是把我放在上一行,对吗?

原文链接:https://www.f2er.com/Perl/171884.html

猜你在找的Perl相关文章