用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - perl代码库

perl 编写一个新潮的CGI脚本

2012-10-15 作者: 神马举报

[perl]代码库

#-----------------------------
use CGI qw ( :standard );
print hidden ( "bacon" );
#-----------------------------
print submit ( -NAME => ".State", -VALUE => "Checkout" );
#-----------------------------
sub to_page { return submit ( -NAME => ".State", -VALUE => shift ) }
#-----------------------------
$page = param ( ".State" ) || "Default";
#-----------------------------
if ( $page eq "Default" )
{
	front_page();
}
elsif ( $page eq "Checkout" )
{
	checkout();
}
else
{
	no_such_page();
# when we get a .State that doesn't exist
}
#-----------------------------
%States = (
              'Default'     => \&front_page,
              'Shirt'       => \&shirt,
              'Sweater'     => \&sweater,
              'Checkout'    => \&checkout,
              'Card'        => \&credit_card,
              'Order'       => \&order,
              'Cancel'      => \&front_page,
          );

if ($States{$page}) {
	$States{$page}->();   # call the correct subroutine
} else {
	no_such_page();
}
#-----------------------------
while (($state, $sub) = each %States) {
	$sub->( $page eq $state );
}
#-----------------------------
sub t_shirt {
    my $active = shift;

unless ($active) {
	print hidden("size"), hidden("color");
	return;
}

print p("You want to buy a t-shirt?");
print p("Size: ", popup_menu('size', [ qw(XL L M S XS) ]));
print p("Color:", popup_menu('color', [ qw(Black White) ]));

print p( to_page("Shoes"), to_page("Checkout") );
}
#-----------------------------
print header("Program Title"), start_html();
print standard_header(), begin_form();
while (($state, $sub) = each %States) {
	$sub->( $page eq $state );
}
print standard_footer(), end_form(), end_html();
#-----------------------------


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...