If this is outside of a subroutine, it's the same as:
$opt_H = shift @ARGV unless ($opt_H);
@ARGV is an array that contains the arguments that were passed to the script. So it's saying: unless $opt_H already contains a value, populate $opt_H with the first element of @ARGV
if this is in a...