默认输入和模式搜索空间。以下对等效
while (<>) {...} # equivalent only in while!
while (defined($_ = <>)) {...}
/^Subject:/
$_ =~ /^Subject:/
tr/a-z/A-Z/
$_ =~ tr/a-z/A-Z/
chomp
chomp($_)
以下是在不使用 $_ 的情况下 Perl 将假定 $_ 的位置
以下函数使用 $_ 作为默认参数
abs、alarm、chomp、chop、chr、chroot、cos、defined、eval、evalbytes、exp、fc、glob、hex、int、lc、lcfirst、length、log、lstat、mkdir、oct、ord、pos、print、printf、quotemeta、readlink、readpipe、ref、require、reverse(仅在标量上下文中)、rmdir、say、sin、split(对于其第二个参数)、sqrt、stat、study、uc、ucfirst、unlink、unpack。
除 -t(默认为 STDIN)之外的所有文件测试(-f、-d)。请参阅 perlfunc 中的“ -X”
在不使用 =~ 运算符时使用的模式匹配操作 m//、s/// 和 tr///(又名 y///)。
如果没有提供其他变量,则在 foreach 循环中的默认迭代器变量。
grep() 和 map() 函数中的隐式迭代器变量。
given() 的隐式变量。
当 <FH>、readline、readdir 或 each 操作的结果作为 while 测试的唯一条件时,放置下一个值或输入记录的默认位置。在 while 测试之外,不会发生这种情况。
$_ 是一个全局变量。
然而,在 perl v5.10.0 和 v5.24.0 之间,可以通过编写 my $_ 来按词法使用它。然后可以使用 our $_ 使 $_ 引用同一作用域中的全局 $_。此实验功能已被删除,现在是一个致命错误,但您可能会在较旧的代码中遇到它。
助记符:在某些操作中理解下划线。