From: Marc Espie Subject: Re: are you running under the perl debugger ? To: Andrew Hewus Fresh Cc: tech@openbsd.org Date: Thu, 25 Jun 2026 20:38:51 +0200 On Thu, Jun 25, 2026 at 09:55:54AM -0700, Andrew Hewus Fresh wrote: > On Wed, Jun 24, 2026 at 01:50:39AM +0200, Marc Espie wrote: > > On Tue, Jun 23, 2026 at 02:22:35PM -0700, Andrew Hewus Fresh wrote: > > > On Tue, Jun 23, 2026 at 06:08:01PM +0200, Marc Espie wrote: > > > > The following snippet: > > > > > > > > can be used to determine if I am running under perl -d. > > > > > > > > I'm wondering if there's something cleaner. > > > > > > I asked at work and millert@'s neighbor Tom says he uses: > > > > > > sub am_running_perldb() { > > > no warnings "once"; > > > return keys(%DB::sub) > 0; > > > } > > > > > > > Nice... Indeed that's simpler. > > > > Objections to me using some similar magic ? > > None that I can think of. > > > > Anyone having a magic way to handling eval {}; from within the debugguer ? > > I asked, and Tom seemed a little surprised and (paraphrasing) said you > should be able to (s)tep or (n)ext into eval blocks, but if that isn't > working you could set an explicit (b)reak on the line you want to stop. > Worst case you could add `DB::single = 1` right before in the code, but > that is very seldom necessary. > > Perhaps I misunderstood what "handling eval" means. I think it works better than it used to...