请问前三个函数中的 $_[1] 是什么含义?

请问前三个函数中的 $_[1] 是什么含义?

sub set_eof_cb            { shift->{eof_cb}        = $_[1]    }
sub set_closed_cb        { shift->{closed_cb}        = $_[1]    }
sub set_selection_cb        { shift->{selection_cb}        = $_[1]    }
 
sub new {
    my $class = shift;
    my %par   = @_;
    my ( $closed_cb, $selection_cb, $eof_cb )
        = @par{ 'closed_cb', 'selection_cb', 'eof_cb' };
 
    my $self = $class->SUPER::new(@_);
 
    $self->set_closed_cb($closed_cb);
    $self->set_selection_cb($selection_cb);
    $self->set_eof_cb($eof_cb);
 
    return $self;
}
刚刚知道那是第2个参数的意思

请问大骆驼书里面的这段话怎么解释?
* 不是一个文件句柄的名字,而是一个在那个句柄上做行输入的尖角操作符。通常当人们向这个尖角操作符 print 的时候就会澄清这一点:
      print  "hi";      # 错,应该省略尖角操作符
为什么错?
没明白你在说什么。为何不多引用一点儿内容?
我打印日志时都是使用 print "somestr $var\n"; 这样的格式。可是书中第24.1.2节介绍到:
-- 8< -------------------------
实习 Perl 程序员应该注意下面的事项:
*记住许多操作符在列表环境里和在标量环境里的行为是不同的。比如:
      ($x) = (4,5,6);      # 列表环境;$x 设置为 4
      $x = (4,5,6);      # 标量环境;$x 设置为 6

      @a = (4,5,6);
      $x = @a;      # 标量环境;$x 设置为 3(数组列表)
....
....
*不是一个文件句柄的名字,而是一个在那个句柄上做行输入的尖角操作符。通常当人们向这个尖角操作符 print 的时候就会澄清这一点:
      print  "hi";      # 错,应该省略尖角操作符
-- 8< ---------------------------------------

print "hi"; 错了吗?
很明显,是被某些网站过滤掉 <FOO> 这样的东西了。
原文应该是:
----------------------
*<FOO> 不是一个文件句柄的名字,而是一个在那个句柄上做行输入的尖角操作符。通常当人们向这个尖角操作符 print 的时候就会澄清这一点:
      print <FOO> "hi";      # 错,应该省略尖角操作符
是我下载的 CHM 问题

多谢