On Fri, Aug 31, 2001 at 12:45:03AM -0400, Bryan C. Warnock wrote: > Access to the source code. Already got that. use Fcntl qw(:seek); seek DATA, 0, SEEK_SET; @code = <DATA>; > We're going to be carrying it around, unless we > strip it. We might as well put it to good use within error messages and the > like. If an error points me to foo:356, I want my DIE handler to dump the > code surrounding that. <snip> > Compilation time. For each of my compilation units, I would like to know > when it was compiled. Compilation unit scoped. You can already do that. Override CORE::GLOBAL::require/use/do. Your overridden require/use/do can mark the time it was called *and* remember the *DATA filehandles. On an error, you can do: use Fcntl qw(:seek); $SIG{__DIE__} = sub { my($pack, $file, $line) = caller; if( my $data_fh = $DATA{$file} ) { my $orig_pos = tell $data_fh; seek $data_fh, 0, SEEK_SET; my @code = <$data_fh>; print STDERR @_; print STDERR @code[$line-2..$line+2]; seek $data_fh, $orig_pos, SEEK_SET; } } When will we be seeing the CPAN module for this? -- Michael G. Schwern <schwern@pobox.com> http://www.pobox.com/~schwern/ Perl6 Quality Assurance <perl-qa@perl.org> Kwalitee Is Job One I know you get this a lot, but what's an unholy fairy like you doing in a mosque like this?Thread Previous | Thread Next