song(3); sub song { my $octave = shift; my $num = 0; while ($num < 10) { $midi_obj->play_note('E', "1.25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('G', ".5", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('G#', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('B', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('E', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('D', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('D', "1", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('B', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('F#', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('F', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('B', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('D', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $midi_obj->play_note('E', ".25", 127, 1, 1, $octave) || print $midi_obj->error() . "\n" and $midi_obj->reset_error(); $num++; } }