# the most reasonable thing for this strange beast, IMHO sub mksref { @_ == 1 ? do { my $x=$_[0]; \$x } : "@_"; # users can play with (a localized) $" } sub mkhref { my %x; @x{@_}=(); \%x; } sub mkcref { my @x = @_; sub { @x }; # a closure }