Yes, I looked at those. Alas the problem persists even if I remove $! from the die string. That thread, and others, mention TTY problems. I don't understand the relationship fully. This script runs with a regular login shell. It does use a module called UI::Dialog::Backend::CDialog which I am not familiar with.