Еще вопрос по Perl. Прошу меня извинить, но скрипты на Перле вижу первый раз ( точнее увидел неделю назад ) Есть такой скрипт.
# perl mel2asm.pl < mel.txt > melody.asm
foreach (<STDIN>) {
chop;
s/;.*$//;
@lst = split(/ /);
if(@lst < 2) { next; }
$n = $lst[0] & 255; &putb;
$n = $lst[0] >> 8; &putb;
$p = 1;
while($lst[$p] ne '') {
$n = $lst[$p++];
if($lst[$p] eq '') { $n .= "|en"; }
&putb;
}
}
print "\n;$cnt\n";
exit;
sub putb
{
$cnt++;
if($c == 0) {
print "\n\t.db $n";
} else {
print ", $n";
}
$c = ($c + 1) & 15;
}
Он должен преобразовать файлик вида
;For Elise (3/8, 60bpm)
;<time tick> <note> <note> ...
; 1
120 E5
150 Dis5
; 2
180 E5
210 Dis5
240 E5
270 H5
300 D5
330 C5
; 3
360 A5 A3
390 E3
420 A4
450 C4
480 E4
510 A5
; 4
540 H5 E2
570 E3
600 Gis3
630 E4
660 Gis4
690 H5
в таблицу типа
.db 120, 0, E5|en, 150, 0, Dis5|en, 180, 0, E5|en, 210, 0, Dis5|en, 240, 0, E5|en, 14
.db 1, H5|en, 44, 1, D5|en, 74, 1, C5|en, 104, 1, A5, A3|en, 134, 1, E3|en, 164
.db 1, A4|en, 194, 1, C4|en, 224, 1, E4|en, 254, 1, A5|en, 28, 2, H5, E2|en, 58
.db 2, E3|en, 88, 2, Gis3|en, 118, 2, E4|en, 148, 2, Gis4|en, 178, 2, H5|en, 208, 2
.db C5, A3|en, 238, 2, E3|en, 12, 3, A4|en, 42, 3, E4|en, 72, 3, E5|en, 102, 3
.db Dis5|en, 132, 3, E5|en, 162, 3, Dis5|en, 192, 3, E5|en, 222, 3, H5|en, 252, 3, D5|en
.db 26, 4, C5|en, 56, 4, A5, A3|en, 86, 4, E3|en, 116, 4, A4|en, 146, 4, C4|en
.db 176, 4, E4|en, 206, 4, A5|en, 236, 4, H5, E2|en, 10, 5, E3|en, 40, 5, Gis3|en
.db 70, 5, E4|en, 100, 5, C5|en, 130, 5, H5|en, 160, 5, A5, A3|en, 190, 5, E3|en
.db 220, 5, A4|en, 24, 6, E5|en, 54, 6, Dis5|en, 84, 6, E5|en, 114, 6, Dis5|en, 144
.db 6, E5|en, 174, 6, H5|en, 204, 6, D5|en, 234, 6, C5|en, 8, 7, A5, A3|en, 38
.db 7, E3|en, 68, 7, A4|en, 98, 7, C4|en, 128, 7, E4|en, 158, 7, A5|en, 188, 7
Но почему то этого не делает. Как запустить скрипт, чтобы он работал? Или что то поправить в нем?