Rand Stats




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.


all of these options can be overridden in the DATA_DUMP environment variable in the format: indent=4,color=false


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.new);


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 {...},