Question: I'm sending a subroutine a hash, and fetching it with `my($arg_ref) = @_;`

But what exactly is `%$arg_ref`? Is `%$` dereferencing the hash?

Answer: 
Instead of dereferencing the entire hash like that, you can grab individual items with 

```
$arg_ref->{key}

```
Since it's somewhat clear this construct is being used to provide a hash reference as a list of named arguments to a sub it should also be noted that this

```
sub foo {
  my ($arg_ref) = @_;
  # do something with $arg_ref->{keys}
}

```

may be overkill as opposed to just unpacking @\_

```
sub bar {
  my ($a, $b, $c) = @_;
  return $c / ( $a * $b );
}

```

Depending on how complex the argument list is.