#!/usr/bin/perl use strict; use warnings; use Devel::ebug; use Data::Dumper; my $ebug = Devel::ebug->new; # $ebug->program(shift); # OLD VALUE: $ebug->program($ARGV[0]); # NEW VALUE: $ebug->load; until ($ebug->finished) { print "+++ file:", $ebug->filename, " line: ", $ebug->line, "\n"; my $pad = $ebug->pad; for my $var (sort keys %$pad) { if (ref $pad->{$var}) { for my $line (split /\n/, Data::Dumper->Dump([$pad->{$var}], [$var])) { print "++ $line\n"; } } else { print "++ $var = $pad->{$var}\n"; } } for my $line ($ebug->codelines($ebug->line-3 .. $ebug->line-1)) { next unless defined $line; print "+ $line\n"; } print "+> ", $ebug->codeline, "\n"; for my $line ($ebug->codelines($ebug->line+1 .. $ebug->line+3)) { next unless defined $line; print "+ $line\n"; } $ebug->step; }