- my ($a, $p) = @_;
- my $r;
- if (!defined $a || !defined($r = reftype $a)) { # not defined or plain scalar
- croak 'Got ' . ((defined $a) ? 'a plain scalar' : 'undef')
- . ' where a reference was expected';
+ my ($arg, $sigil) = @_;
+
+ my $reftype;
+ if (not defined $arg or not defined($reftype = reftype $arg)) {
+ # not defined or plain scalar
+ my $that = (defined $arg) ? 'a plain scalar' : 'undef';
+ croak "Got $that where a reference was expected";