На Snowleopard ядро работает в 32-битном режиме, а пользовательский интерфейс в основном в 64-битном режиме. Ядро может без проблем запускать 32-битные и 64-битные пользовательские приложения.
Вы должны указать системе сборки Perl создать 32-битный только двоичный файл. Это делается путем установки флага -arch gcc.
Для простого приложения с одним файлом вы можете сделать это так:
gcc -arch i386 -o app app.m -lobjc -framework CoreFoundation -framework Cocoa
В вашем случае вы должны передать флаг arch системе сборки.
Я не эксперт по Perl, но я бы настроил Perl так:
./Configure -Dprefix=/usr/local -A ccflags="-arch i386"