Perl语法是什么<$变量>;什么意思?

Perl语法是什么<$变量>;什么意思?,perl,sockets,Perl,Sockets,只是找不到这个语法()的作用,尽管我猜这是变量中对象的某种默认计算或行为 我试图用这个假定为DoS探测器(它进入100次循环)测试我的Apache服务器(在安装mod_evasive模块之后),但它总是返回一个400次错误请求的响应。试图破解代码时,我被下面的注释行卡住了 use IO::Socket; use strict; my($response); my($SOCKET) = new IO::Socket::INET( Proto => "tcp",

只是找不到这个语法(
)的作用,尽管我猜这是变量中对象的某种默认计算或行为

我试图用这个假定为DoS探测器(它进入100次循环)测试我的Apache服务器(在安装mod_evasive模块之后),但它总是返回一个400次错误请求的响应。试图破解代码时,我被下面的注释行卡住了

use IO::Socket;
use strict;

my($response);
my($SOCKET) = new IO::Socket::INET( Proto   => "tcp",
                                  PeerAddr=> "127.0.0.1:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET / HTTP/1.1\n\n";

$response = <$SOCKET>; ## What are those < > signs???

print $response;
close($SOCKET);
使用IO::Socket;
严格使用;
我的回答;
my($SOCKET)=新IO::SOCKET::INET(Proto=>“tcp”,
PeerAddr=>“127.0.0.1:80”);
如果(!defined$SOCKET){die$!;}
打印$SOCKET“GET/HTTP/1.1\n\n”;
$response=###那些标志是什么???
打印$response;
关闭($插座);
然后我的主要兴趣是能够进行测试,所以我首先需要知道为什么我会得到400个错误代码来修复它

另外,顺便说一句,出于好奇,我想了解一下
的语法含义,因为我在任何地方都找不到解释。

(也称为“菱形运算符”)是
读线的缩写。括号内的东西提供了输入行。可以是文件句柄、管道、套接字或其他类似的东西。在您的例子中,存储您创建的套接字的变量是
$SOCKET

调用
读取该输入的下一行

不过还是有点小把戏。在其他一些情况下,
glob
的缩写。如果角度内的东西看起来像一个glob模式,则
返回与该模式匹配的文件列表:

 my @files = <*.txt>;
  • 表示
    读线(ARGV)
  • 表示
    读线(标识符)
  • 表示
    readline($IDENTIFIER)
  • (任何其他)表示
    glob(qq)

您使用的是第三种语法,因此
的意思是。您是在标量上下文中使用它的,因此它从
$SOCKET

中读取一行。请参阅上的文档,我的好奇心得到了满足,谢谢$SOCKET>的意思是“从SOCKET流中读取”,但它不是。
表示从
$handle
读取一行,无论该句柄是连接到套接字还是简单文件。还要注意“从中读取一行”和普通“从中读取”之间的区别。re“看起来像一个全局模式”,反之亦然;只有少数病例被视为readline,其他几乎都被视为glob
 my @files = glob( '*.txt' );