There are some variables which have a predefined and special meaning in Perl. They are the variables that use punctuation characters after the usual variable indicator ($, @, or %), such as $_ ( explained below ).
Special Symbols – File handlers
$@ Perl error string
$! Error number from C, ‘errno’
$^E Extended OS error info, such as ‘CDROM tray not closed’
$? Exit status from last process
$AGRV – name of current file
@ARGV – command line arguments
$ARGV – special file handle for command line filenames
$. – current line number
$/ - input line delimiter
$\ - output line delimiter
$% - current page number
$&/${^MATCH} – last successful matching string
$`/${^PREMATCH} – the string preceding the last matching string
$’/${^POSTMATCH} – the string following the last matching string
$1, $2, … - matching groups in the parentheses in pattern
More at https://www.tutorialspoint.com/perl/perl_special_variables.htm