use Data::Dumper; sub f { "f(" . join(", ", map dumpf($_), @_) . ")"; } sub dumpf { local $Data::Dumper::Indent = 0; local $Data::Dumper::Terse = 1; local $_ = Dumper(@_); tr/\'//d; $_; }