use strict; use warnings; use Data::Dumper qw( Dumper ); sub dumper { local $Data::Dumper::Useqq = 1; local $Data::Dumper::Terse = 1; local $Data::Dumper::Indent = 0; return Dumper($_[0]); } for ( [ [1], [], {1 => 2, 2 =>{} } ], [ undef, [ undef ], { x => undef }, \undef, \\\undef ], ) { my $d = $_; print(dumper($d), "\n"); clean($d); print(dumper($d), "\n"); print("\n"); }