#!/usr/bin/perl -w use strict; use warnings; my @S = ('a', 'b', 'c', 1, 2, 3); my $SCALAR = 555; my $SCALAR_REF = \"Hello World"; my $CODE_REF = sub { print "HI"; }; print "\n\n"; my $A = 3; MODIFY($A + 3); print " A = $A \n\n--------------"; # I want to print the TYPE of these arguments: AAA(@S, $SCALAR, $SCALAR + 3, 9999, \444, $SCALAR_REF, $CODE_REF); exit; sub AAA { foreach (@_) { my $REF = \$_; print "\nvalue: $_ \t\t type: ", ref($REF); MODIFYRR($REF); # MODIFY($_); } } sub MODIFY { $_[0] = 1; } sub MODIFYRR { my $REF = shift; $$REF = 1; }