Perl was developed in 1987, the first Common Lisp standard was released in 1984, 3 years earlier. Common Lisp allows arguments like so:
(defun frobnicate (foo &key (bar (Vector 1 2 3)) (baz 'quux))
(declare (type Foo foo)
(type (Vector Integer) bar)
(type Symbol baz))
...)
Not only normal arguments like we get in C or Pascal, but there's keyword arguments, you can have optional arguments, and a rest argument, which is most like Perl's @_. And that's not even getting into destructuring lambda lists which are available for macros or typed lambda lists for methods.