use strict; use warnings; sub _format_caller { my @x=caller($_[0]); print(join(',',@x[0..2]),"\n"); } sub f { my $level=$_[0]; print "test caller $level\n"; _format_caller($level); print("\n"); } f($_) for 0..2;