http://qs321.pair.com?node_id=970418


in reply to Re^2: Understanding arguments to subroutines
in thread Understanding arguments to subroutines

The hyphen is a bit of a throw-back to olden-times. This originally meant that the caller did not need to quote the keys – although that has not been required since version 5.6 and that functionality passed to the fat comma. The hyphen is not stripped off by perl, it is passed in @_ so the subroutine has to remove it.