1 #!/usr/bin/perl -w 2 3 use strict; 4 use CGI; 5 6 my $cgi = new CGI; 7 my $how_col = $cgi->param('col') || 10; 8 my $script = $cgi->script_name(); 9 10 my @ary = ( 1 .. 50 ); 11 my $numb_elem = scalar(@ary); 12 13 @ary = sort { $a <=> $b } @ary; 14 15 my $how_rows = int($numb_elem / $how_col); 16 $how_rows += 1 if ( $numb_elem % $how_col ); 17 18 print $cgi->header(), $cgi->start_html( 19 -title=>'Dynamically Sorted Data by Table Columns'); 20 21 print qq(<CENTER><h4>Dynamically Sorted Data by Table Columns.</h4> 22 <TABLE border="1" cellpadding="3">); 23 24 for ( my $i = 0; $i < $how_rows; $i++ ) 25 { 26 my @cols = (); 27 for ( 0 .. ($how_col - 1) ) { 28 push @cols, $i+$how_rows*$_; 29 } 30 print "<TR>"; 31 32 for ( @cols ) 33 { 34 if ( ! $ary[$_] ) { 35 print "<TD> </TD>"; 36 } 37 else { 38 print "<TD>$ary[$_]</TD>"; 39 } 40 } 41 print "</TR>"; 42 } 43 print "</TABLE><BR>"; 44 print qq(<FORM> 45 Enter Number of the Columns: 46 <SELECT name="col" onChange="columns(this)">); 47 for ( 1 .. 10 ) { 48 print qq(<OPTION value="$_"), 49 $_ == $how_col ? " SELECTED>" : ">",$_; 50 } 51 print "</SELECT></FORM></CENTER>"; 52 53 print "<SCRIPT> 54 function columns(s) { 55 var v=s.options[s.selectedIndex].value; 56 location.href='$script?col='+v; 57 } 58 </SCRIPT>"; 59 print $cgi->end_html(); 60 61 exit(0); See Output