#!/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__ =pod =head1 NAME Devel::REPL::Plugin::Peek - L plugin for L. =head1 SYNOPSIS repl> #peek "foo" SV = PV(0xb3dba0) at 0xb4abc0 REFCNT = 1 FLAGS = (POK,READONLY,pPOK) PV = 0x12bcf70 "foo"\0 CUR = 3 LEN = 4 =head1 DESCRIPTION This L adds a C command that calls L instead of the normal printing. =head1 SEE ALSO L, L =head1 AUTHOR Yuval Kogman Enothingmuch@woobling.orgE =cut