Devel::REPL::Plugin::Peek - L<Devel::Peek> plugin for L<Devel::REPL>.


Devel-REPL documentation Contained in the Devel-REPL distribution.

Index


Code Index:

NAME

Top

Devel::REPL::Plugin::Peek - Devel::Peek plugin for Devel::REPL.

SYNOPSIS

Top

  repl> #peek "foo"
  SV = PV(0xb3dba0) at 0xb4abc0
    REFCNT = 1
    FLAGS = (POK,READONLY,pPOK)
    PV = 0x12bcf70 "foo"\0
    CUR = 3
    LEN = 4

DESCRIPTION

Top

This Devel::REPL::Plugin adds a peek command that calls Dump in Devel::Peek instead of the normal printing.

SEE ALSO

Top

Devel::REPL, Devel::Peek

AUTHOR

Top

Yuval Kogman <nothingmuch@woobling.org>


Devel-REPL documentation Contained in the Devel-REPL distribution.

#!/usr/bin/perl

package Devel::REPL::Plugin::Peek;
use Devel::REPL::Plugin;

use Devel::Peek qw(Dump);

use namespace::clean -except => [ 'meta' ];

sub BEFORE_PLUGIN {
    my $self = shift;
    $self->load_plugin('Turtles');
}

sub expr_command_peek {
  my ( $self, $eval, $code ) = @_;

  my @res = $self->eval($code);

  if ( $self->is_error(@res) ) {
    return $self->format(@res);
  } else {
    # can't override output properly
    # FIXME do some dup wizardry
    Dump(@res);
    return ""; # this is a hack to print nothing after Dump has already printed. PLZ TO FIX KTHX!
  }
}

__PACKAGE__

__END__