Das HTTP(rotokoll) lässt eine Fortschritt-Anzeige nicht zu, weil die gesamte Multipart-Message am Stück übertragen wird.
Das ist logisch falsch, aus dem Prädikat im zweiten Teilsatz kannst du nicht die Aussage im ersten folgern.
Wenn Du diesen Puffer sehen willst, brauchst Du einen zweiten UserAgent, der synchron mit dem Ersten laufen muss.
Das ist falsch. Den Pufferinhalt kriegt man gleich zu sehen, nachdem er vom Webserver entleert wurde.
Und noch eine Überraschung wartet auf Dich, wenn Du CGI.pm verbietest, temporäre Dateien anzulegen: Das Parsen der Multipart-Message darfst Du in diesem Fall selbst übernehmen.
Das ist falsch. CGI.pm übernimmt das Parsen und stellt auf jeden Fall die MIME-dekodierten Ströme im Callback zur Verfügung.
Wenn Du damit irgendwelche Erfolge erreichen konntest, komm raus aus Deiner Hecke und berichte darüber ;)
Mir wär's lieber, wenn du nicht immer so viel unwahres in die Welt setzen würdest. Überprüfe gefälligst deine Behauptungen durch Code! Es wird langsam zur Zumutung, dass du immer widerlegt und belehrt werden musst.