Zutreffend ist, dass Programme für den Elternprozess (also nicht für das OS!) einen Exit-Status-Code hinterlassen
Doch genau das: Jedes Programm meldet sich mit einem bestimmten Status von 0..255 an das OS zurück!
Und selbstverständlich tun das auch PHP und Perl Scripts! Und auch dann wenn kein explizites exit 0;
angewiesen wurde meldet sich ein Perlscript spontan mit Status 0 an das OS zurück -- Sofern es keinen Ausnahmefehler oder einen Absturz gab oder es per kill-Signal vom OS an Script beendet wurde.
Und das war schon immer so!