Moduł ten potrafi między innymi konwertować kod programu w języku perl do kodu w języku C ale to nie jedyna możliwość tego modułu. Moduł ten dostępny jest w AUR - polecam ustawić zmienną skiptest na 1, u mnie gdzieś tam przy module B::CC muli i wywala się ale inne moduły działają raczej dobrze.. Wersja B::C 1.27 działa najlepiej z perlem w wersji 5.12.1 (dla użytkowników innych systemów/dystrybucji z inną wersję perla polecam zapoznanie się z tą stroną). Moduł nie jest jakoś bardzo dopracowany ale porusza ciekawe zagadnienie związane z językami skryptowymi, no cóż poniżej podam dwa przykładowe sposoby jego wykorzystania..
perl→C→elf
Są dwie szkoły kompilacji:
- perlcc foo.pl -o foo
- perl -MO=C,-O2,-ofoo.c foo.pl
perl /usr/lib/perl5/vendor_perl/bin/cc_harness -o foo foo.c
Jak widać w pierwszym przykładzie, jest to nakładka ułatwiająca kompilację. Drugi przykład jest już trochę bardziej złożony - pierwsze polecenie generuje kod C, a następne generuje komendę z parametrami kompilatora gcc i go uruchamia. W obu przypadkach generuje się gotowy do służby plik elf. :)
perl→perl bytecode
Jest też możliwość kompilacji do bytecode (coś jak pythonowe pyc):
- Tworzenie pliku "foo": perl -MO=Bytecode,-H,-ofoo foo.pl
- Uruchamianie "foo": perl foo
Inne
To nie wszystkie możliwości tego modułu, opisałem tylko te najważniejsze według mnie, po resztę odsyłam do dokumentacji.