Although it's not intended to send a pull request to the repository, CGI::PSGI, I believe it's worth trying this kind of solutions.
There is more than one way to do it.
For instance, CGI::Emulate::PSGI uses HTTP::Response to parse CGI response headers. This module captures STDOUT and parses it using regular expressions to generate PSGI response headers array.
CGI::PSGI implements psgi_header() method which was literally copied from CGI.pm and rearranged properly to satisfy PSGI specification.
CGI::Header is a subclass of Hash because CGI::header() behaves like a hash. Though the data structure is different from PSGI headers, it's easy to convert a hash to an array. In fact, this module provides flatten() method which can be used to generate PSGI response headers array.
CGI::Header will be yet another solution to adapt CGI applications to the PSGI protocol.