called_args returns the arguments to the subroutine at LEVEL in
the call stack. If no level is specified, 0 (zero) is assumed, that
being our caller. If a list is expected, it will be returned. When a
scalar is expected, a list reference will be returned.
If you want the number of arguments passed to the subroutine at LEVEL,
theres nothing stopping you from getting it from caller.
my $number = (caller $level);