2016-12-07 72 views
-1

我想使用CGI模塊顯示popup_menu ,並將按照標籤排序的值作爲散列提供。顯示按標籤排序的CGI popup_menu

我有這樣的代碼

print $list->popup_menu(
     -name  => 'param', 
     -values  => \@data, 
     -default =>['default'], 
     -labels  => \%labels, 
     -size  =>10, 
     -multiple =>0, 
    ); 

目前,輸出的值在@data排列的順序列表。我希望它在%labels中按名稱的字母順序顯示。

+0

您正在使用什麼庫? [CGI](http://p3rl.org/CGI)? [Tk的](http://p3rl.org/Tk)? – choroba

+0

另外,這看起來不正確:'-labels =>%labels'。散列用於列表上下文中,因此它擴展爲交替鍵和值的列表。 – choroba

+0

使用CGI,並更正了代碼 – Cris

回答

2

排序的「價值」的價值觀從標籤%:

-values  => [ sort { $labels{$a} cmp $labels{$b} } @data ],