# main task initialize_frobnitz(); generate_zanzibar(); show_results(); sub initialize_frobnitz { my $frobber = allocate_frobnitz(1); send_to_frobber($frobber, 'INIT') or die "Can't initialize frobber!"; send_to_frobber($frobber, 'configuration value 1') or die "Can't configure frobber!"; } sub send_to_frobber { my $serial_port = ... etc ...