http://www.perlmonks.org?node_id=965813


in reply to Why are elements of my array getting deleted?

Not sure if this will work but I would suggest you change how you assign your arguments to:
sub ccmexec_nodie { my $command = shift; ... sub myprint { my $level = shift; my $string = shift;