We don't bite newbies here... much PerlMonks

### Re: Re: Data::Dumper Efficiency Problem

by madhatter (Sexton)
 on Jan 04, 2001 at 00:19 UTC ( #49613=note: print w/replies, xml ) Need Help??

in reply to Re: Data::Dumper Efficiency Problem
in thread Data::Dumper Efficiency Problem

Trinary,
Please do post! I'm very interested in this.
Thanks,
madhatter
• Comment on Re: Re: Data::Dumper Efficiency Problem

Replies are listed 'Best First'.
Re: Re: Re: Data::Dumper Efficiency Problem
by Trinary (Pilgrim) on Jan 04, 2001 at 00:30 UTC
Ask, and ye shall recieve: This is just a sub, pretty basic actually and probably broken in a couple ways. takes a ref as argument, and starts-a-printin. Haven't done any performance testing vs. Data::Dumper.

Begin code

```sub dumpref {
my \$testref = shift;
my \$levels = shift;

if (ref(\$testref) eq 'HASH') {
print "{\n";
\$levels++;
my \$maxlevel = scalar(keys %\$testref);
my \$curlevel = 0;
foreach my \$key (keys %\$testref) {
\$curlevel++;
print " " x \$levels;
print \$key;
print " => ";
my \$val = \$testref->{\$key};
if (ref(\$val)) {
&dumpref(\$val,\$levels);
} else {
\$val =~ s#\\#\\\\#;
\$val =~ s#'#\\'#;
print "'\$val'";
}
print "," if \$curlevel < \$maxlevel;
print "\n";
}
print " " x (\$levels - 1) . "}";
} elsif (ref(\$testref) eq 'ARRAY') {
print "[\n";
\$levels++;
my \$maxlevel = scalar(@\$testref);
foreach my \$val (@\$testref) {
\$curlevel++;
print " " x \$levels;
if (ref(\$val)) {
&dumpref(\$val,\$levels);
print " " x (\$levels - 1);
} else {
\$val =~ s#\\#\\\\#;
\$val =~ s#'#\\'#;
print "'\$val'";
}
print "," if \$curlevel < \$maxlevel;
print "\n";
}
print " " x (\$levels - 1) . "]";
} else {
print ref(\$testref);
print "\n";
}
}
[download]```

End Code

Use at your own risk, but it handles basic stuff ok, I think. =b

Trinary

\$val =~ s#'#\\'#g <-- (no?)

Log In?
 Username: Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://49613]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (1)
As of 2022-01-19 04:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In 2022, my preferred method to securely store passwords is:

Results (55 votes). Check out past polls.

Notices?