in reply to os upgrade breaks cgi

First question: what do you mean by "it broke"? Does it give an error message, or just give incorrect behaviour?

By default, perl will include a filename and line number on fatal errors unless they terminate in a newline. You can also modify the script to make a fatal error give a full stack trace in most cases, by adding something like this just after the shebang line:

BEGIN { use Carp; $SIG{__DIE__} = sub { Carp::confess(@_) } }

If the script is completing without a fatal error, but giving incorrect behaviour, you can insert this just after the shebang line to get a list of the paths to all modules that were loaded up to the point the script finishes:

END { print for values %INC }

Replies are listed 'Best First'.
Re^2: os upgrade breaks cgi
by ikegami (Patriarch) on Mar 07, 2024 at 20:26 UTC

    That SIG DIE line can be replaced with

    use Carp::Always;

    Assuming you first install the module, of course.