tphyahoo has asked for the wisdom of the Perl Monks concerning the following question:
UPDATE: Figured this out myself. I needed to add $Data::Dumper::Deparse = 1;
**************
I'm debugging a program that passes around coderefs as part of an html reformat. FWIW, the coderef winds up being an argument to Html::Element::look_down.
It would be convenient to examine the contents of the coderef. I was hoping to be able to do this with Data::Dumper, but I haven't figured out a way to do this. Data::Dumper did have some examples that seemed to touch on code refs, but they don't seem to do what I want.
Is there a way, Data Dumper or otherwise?
Looking for something along the lines of
Thanks for leading me to better perl!#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Test::More qw(no_plan); $Data::Dumper::Deparse = 1; # I needed to add this my $subroutine = sub { print "test" }; print Dumper($subroutine); #nah, this just gives "$VAR1 = sub { "DUMMY +" };" my $wanted = 'print "test"'; my $got = get_code($subroutine); is($got, $wanted); sub get_code { defined(my $coderef = shift) or die "no code ref"; return "whatever"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to get code from a coderef?
by diotalevi (Canon) on Jan 20, 2006 at 16:48 UTC | |
|
Re: How to get code from a coderef?
by pileofrogs (Priest) on Jan 20, 2006 at 17:08 UTC | |
by diotalevi (Canon) on Jan 20, 2006 at 20:15 UTC | |
by diego_de_lima (Beadle) on Jan 20, 2006 at 21:41 UTC | |
by diotalevi (Canon) on Jan 20, 2006 at 22:06 UTC |