Обычно это делается наоборот. То есть язык сценариев координирует вещи, а программа на Си выполняет обработку.
Идея состоит в том, что код, который координирует, легко изменить, и код, который выполняет обработку, выполняется быстро.
Вероятно, нужно было бы создать интерпретатор perl через «системный» вызов C, чтобы что-то сделать. Вероятно, не совсем то, что вы имеете в виду.