Skip to content
a colorful? data dumper for perl6
Perl 6
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

for perl6

that's right folks, here's a quicky for your data dump needs. if you have Terminal::ANSIColor installed then the output will be so colorful your eyes might bleed.

feel free to submit bugs or make suggestions, if you submit a bug please provide a concise example that replicates the problem and i'll add some tests and make this thing better.



default: 2

say Dump({ some => object }, :indent(4));


default: 50

say Dump({ some => object }, :max-recursion(3));


default: True

This will override the default decision to use color on the output if Terminal::ANSIColor is installed. Passing a value of False will ensure that the output is vanilla.

say Dump({ some => object }, :color(False));


default: False

This will override the default object determination and output and use the output of .gist

say Dump({ some => object}, :gist);


default: False

This will shorten Str|Int|Rat|Numeric output from 5.Int|"H".Str to simply 5|"H"


default: False

This will skip the methods if you dump custom classes.

say Dump($object, :skip-methods(True));


default: {}

This will allow you to override how DD dumps certain types of objects.

Dump($object, overrides => {
  Int => sub ($int) { return $int * 2; },
  Str => sub ($str) { return "'$str'"; },
  # etc.


use Data::Dump;

say Dump(%( 
  key1 => 'value1',
  key256 => 1,


  key1   => "value1".Str,
  key256 => 1.Int,

note: if you have Terminal::ANSIColor installed then it's going to be amazing. so, prepare yourself.

oh you want to Dump your custom class?

here you go, dude

use Data::Dump;

class E {
  has $.public;
  has Int $!private = 5;
  method r(Str $a) { };
  method s($b, :$named? = 5) { };
  method e returns Int { say $!private; };

say Dump(;


E :: (
  $!private => 5.Int,
  $!public  => (Any),

  method e () returns Int {...},
  method public () returns Mu {...},
  method r (Str $a) returns Mu {...},
  method s (Any $b, Any :named($named) = 5) returns Mu {...},
You can’t perform that action at this time.