# $action $type my %page_control = ( add => { PressRelease => { page => 'pm-main-pr-add.tmpl', function => \&add_press_release }, PressCutting => { page => 'pm-main-pc-add.tmpl', function => \&add_press_cutting } }, edit => { PressRelease => { page => 'pm-main-pr-edit-del.tmpl', function => \&edit_press_release }, PressCutting => { page => 'pm-main-pc-view.tmpl', function => \&view_press_cuttings } }, delete => { PressRelease => { page => 'pm-main-pr-edit-del.tmpl', function => \&delete_press_release }, PressCutting => { page => '', function => '' } }, display=> { tabs => { page => 'pm-tabs.tmpl', function => '' }, menu => { page => 'pm-menu.tmpl', function => '' } }, default =>{ page => 'pm-main.tmpl', function => \&show_main_console } ); my $page = $page_control{ $action }{ $type }{ page }; my $function = $page_control{ $action }{ $type }{ function }; $page ||= $page_control{ default }{ page };