Moduł Acme::Morse::Audible
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Obsługa modułu Acme::Morse::Audible
use Acme::Morse::Audible;
print "Witaj muzykalny świecie!";
Co to jest?
Kolejny moduł z serii zmieniających kod. Tym razem jest szansa by usłyszeć skrypt.
Szczegóły
Kiedy pierwszy raz uruchomimy program, który używa Acme::Morse::Audible stanie się on plikiem MIDI z kodem zakodowanym alfabetem Morsa. Program będzie robił to samo co przedtem ale teraz będzie można go usłyszeć. Niektóre odtwarzacze MIDI mogą nie chcieć odegrać pliku dopóki nie będzie miał rozszerzenia .mid.
By przywrócić program do pierwotnej wersji należy użyć no Acme::Morse::Audible;
To wyrażenia nie ma żadnego efektu przy normalnym programie.
Jak to działa
Moduł używa perlowej funkcji pack i unpack, które zamieniają listę wejściową na strukturę binarną i zwracają tą strukturę jako string albo odwrotnie. Dane po use są zamienniane na ciąg bitów, a następnie przy użyciu wyrażenia regularnego s/(.)/$1?$long:$short/eg każde 0 jest zamieniane na dźwięk krótki w formacie MIDI a każde 1 na dźwięk długi. Tymi danymi skrypt jest nadpisywany. Konwersja w drugą stronę przechodzi analogicznie, a kod programu jest wykonywany za pomocą eval.
Problemy
Zobacz też
Spodobało się? Jest dużo podobnych modułów. Np.: Acme::Morse, Acme::Bleach
Dodatkowe informacje
Cała dokumentacja znajduje się na http://search.cpan.org/~itrivizki/Acme-Morse-Audible-1.10/Audible.pm
Autor opracowania
P.B.