From 50df92d7cafaa7970b0fd1274fc500ef3a70ab9a Mon Sep 17 00:00:00 2001 From: Rob Kinyon Date: Sun, 12 Jan 2014 21:34:23 -0500 Subject: [PATCH] Allow BREAKWIDTH to be set --- lib/Data/Dump.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/Data/Dump.pm b/lib/Data/Dump.pm index 5704db6..75d3bda 100644 --- a/lib/Data/Dump.pm +++ b/lib/Data/Dump.pm @@ -13,10 +13,11 @@ $VERSION = "1.22"; $DEBUG = 0; use overload (); -use vars qw(%seen %refcnt @dump @fixup %require $TRY_BASE64 @FILTERS $INDENT); +use vars qw(%seen %refcnt @dump @fixup %require $TRY_BASE64 @FILTERS $INDENT $BREAKWIDTH); $TRY_BASE64 = 50 unless defined $TRY_BASE64; $INDENT = " " unless defined $INDENT; +$BREAKWIDTH = 60 unless defined $BREAKWIDTH; sub dump { @@ -326,7 +327,7 @@ sub _dump my $nl = ""; my $klen_pad = 0; my $tmp = "@keys @vals"; - if (length($tmp) > 60 || $tmp =~ /\n/ || $tied) { + if (length($tmp) > $BREAKWIDTH || $tmp =~ /\n/ || $tied) { $nl = "\n"; # Determine what padding to add @@ -466,7 +467,7 @@ sub format_list } } my $tmp = "@_"; - if ($comment || (@_ > $indent_lim && (length($tmp) > 60 || $tmp =~ /\n/))) { + if ($comment || (@_ > $indent_lim && (length($tmp) > $BREAKWIDTH || $tmp =~ /\n/))) { my @elem = @_; for (@elem) { s/^/$INDENT/gm; } return "\n" . ($comment ? "$INDENT# $comment\n" : "") . @@ -668,6 +669,12 @@ It's default value is " " (two spaces). Set it to "" to suppress indentation. Setting it to "| " makes for nice visuals even if the dump output then fails to be valid Perl. +=item $Data::Dump::BREAKWIDTH + +How long can a string get before we add a carriage return. The default is 60. + +It can be useful to set this to 1 to force all pairs to be on their own lines. + =item $Data::Dump::TRY_BASE64 How long must a binary string be before we try to use the base64 encoding