婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > perl的cgi高級編程介紹

perl的cgi高級編程介紹

熱門標簽:買了外呼系統(tǒng)不想用了怎么辦 浦東上海400開頭的電話申請 真人語音電銷機器人系統(tǒng) 邯鄲外呼調研線路 武漢呼叫中心外呼系統(tǒng)線路商 開封百應電銷機器人聯(lián)系方式 電話機器人電話卡封號怎么辦 北京語音電銷機器人價格 樂昌電話機器人

一 CGI.pm中的方法(routines)調用

1. CGI.pm實現(xiàn)了兩種使用方法,分別是面向對象的方式和傳統(tǒng)的perlmodule方法的方式。
面向對象的方式:

復制代碼 代碼如下:

#!/usr/local/bin/perl -w
use CGI;   # load CGI routines
$q = CGI->new;                        # create new CGI object
print $q->header,                    # create the HTTP header
    $q->start_html('hello world'), # start the HTML
    $q->h1('hello world'),         # level 1 header
    $q->end_html;                  # end the HTML

傳統(tǒng)的module方法的方式:

復制代碼 代碼如下:

#!/usr/local/bin/perl
use CGI qw/:standard/;           # load standard CGI routines
print header,                    # create the HTTP header
     start_html('hello world'), # start the HTML
     h1('hello world'),         # level 1 header
     end_html;                  # end the HTML


2. CGI.pm中的方法。

CGI.pm中的方法,通常有很多的參數(shù),所以一般我們使用命名參數(shù)的方式來調用,例如:
復制代碼 代碼如下:

print $q->header(-type=>'image/gif',-expires=>'+3d');

命名參數(shù)的值可以為scalar或array reference類型,例如:
復制代碼 代碼如下:

$q->param(-name=>'veggie',-value=>'tomato');
$q->param(-name=>'veggie',-value=>['tomato','tomahto','potato','potahto']);


3. CGI.pm中的html元素(html shortcuts)方法

所有的html的元素(例如h1,br等)在CGI.pm中都有對應的方法,這些方法根據(jù)需要動態(tài)的生成,且都包含2個參數(shù),第一個參數(shù)為hash類型,對應html元素的屬性,第二個參數(shù)的string類型,對應html元素的內(nèi)容。例如html中的h1對應的方法為h1( ):
Code              Generated HTML
----                 --------------
h1()                h1>
h1('some','contents');             h1>some contents/h1>
h1({-align=>left});                  h1 align="LEFT">
h1({-align=>left},'contents'); h1 align="LEFT">contents/h1>
有時你想自己處理元素的開始和結尾,則可以使用start_tag_name和end_tag_name,例如
print start_h1,'Level 1 Header',end_h1;
有的時候start和end方法沒有被自動生成,需要顯示的指定,例如:
use CGI qw/:standard *table start_ul/;
用來自動生成start_table,end_table,start_ul和end_ul方法。

另一個實例:

復制代碼 代碼如下:

print a({-href=>'fred.html',-target=>'_new'}, "Open a new frame");
a href="fred.html",target="_new">Open a new frame/a>


二 CGI.pm中獲取cgi的參數(shù)

@names = $query->param        #get all params
@values = $query->param('foo'); #get param foo as list            
$value = $query->param('foo'); #get param foo as scalar
param()獲取參數(shù)的結果可以為scalar或array類型,例如當參數(shù)的結果來自多選的scrollinglist的時候就為array類型。如果參數(shù)的值在querystring中沒有給定("name1=name2="),param()將返回emptystring。如果參數(shù)在querystring中根本不存在,則param()則返回undef或emptylist。當參數(shù)為多個值時querystring中寫法為var1=value1var1=value2var1=value3.

三 header and start_html
1. header指定html的header,例如

復制代碼 代碼如下:

print header;   # 返回默認的type:text/html
print header('image/gif'); #設定type為:image/gif      
print header('text/html','204 No response');
$cookie1 = $q->cookie(-name=>'riddle_name', -value=>"The Sphynx's Question");
$cookie2 = $q->cookie(-name=>'answers', -value=>\%answers);
print header(-type=>'image/gif',
    -nph=>1,
    -status=>'402 Payment required',
    -expires=>'+3d',
     -cookie  => [$cookie1,$cookie2] ,
    -charset=>'utf-7',
    -attachment=>'foo.gif',
    -Cost=>'$2.00');

其中-type,-status,-expires,-cookie為可以設別的參數(shù),其他的命名參數(shù)都被轉化為html header屬性。
 -expires的值可以為:
   +30s    30 seconds from now
   +10m    ten minutes from now
   +1h     one hour from now
   -1d     yesterday (i.e. "ASAP!")
   now     immediately
   +3M     in three months
   +10y    in ten years time
   Thursday, 25-Apr-1999 00:40:33 GMT  at the indicated time date
 2. start_html 創(chuàng)建頁面的頂層元素html>header/header>body>
 例如:

復制代碼 代碼如下:

print start_html(-title=>'Secrets of the Pyramids',
   -author=>'fred@jbxue.org',
   -base=>'true',
   -target=>'_blank',
   -meta=>{'keywords'=>'pharaoh secret mummy',
           'copyright'=>'copyright 1996 King Tut'},
   -style=>{'src'=>'/styles/style1.css'},
   -BGCOLOR=>'blue');
 

或者:

復制代碼 代碼如下:

 print start_html(-head=>[
           Link({-rel=>'shortcut icon',href=>'favicon.ico'}),
           meta({-http_equiv => 'Content-Type',-content=> 'text/html'})
           ]
           );

在header中加入javascript的例子:

復制代碼 代碼如下:

   $query = CGI->new;
       print header;
       $JSCRIPT=END;
       // Ask a silly question
       function riddle_me_this() {
          var r = prompt("What walks on four legs in the morning, " +
                        "two legs in the afternoon, " +
                        "and three legs in the evening?");
          response(r);
       }
       // Get a silly answer
       function response(answer) {
          if (answer == "man")
             alert("Right you are!");
          else
             alert("Wrong!  Guess again.");
       }
       END
       print start_html(-title=>'The Riddle of the Sphinx',
      -script=>$JSCRIPT);
       print $q->start_html(-title=>'The Riddle of the Sphinx',
-script=>{-type=>'JAVASCRIPT',
          -src=>'/javascript/sphinx.js'}
);
      print $q->start_html(-title=>'The Riddle of the Sphinx',
 -script=>[
           { -type => 'text/javascript',
             -src      => '/javascript/utilities10.js'
           },
           { -type => 'text/javascript',
             -src      => '/javascript/utilities11.js'
           },
           { -type => 'text/jscript',
             -src      => '/javascript/utilities12.js'
           },
           { -type => 'text/ecmascript',
             -src      => '/javascript/utilities219.js'
           }
        ]
    );

在header中使用css的例子:
復制代碼 代碼如下:

  use CGI qw/:standard :html3/;
     #here's a stylesheet incorporated directly into the page
     $newStyle=END;
     !--
     P.Tip {
         margin-right: 50pt;
         margin-left: 50pt;
         color: red;
     }
     P.Alert {
         font-size: 30pt;
         font-family: sans-serif;
       color: red;
     }
     -->
     END
     print header();
     print start_html( -title=>'CGI with Style',
                       -style=>{-src=>'https://www.jb51.net/style/st1.css',
      -code=>$newStyle}
                      );
     print h1('CGI with Style'),
           p({-class=>'Tip'},
             "Better read the cascading style sheet spec before playing with this!"),
           span({-style=>'color: magenta'},
                "Look Mom, no hands!",
                p(),
                "Whooo wee!"
                );
     print end_html;

四 url
  

復制代碼 代碼如下:

  $full_url      = url();  #  http://your.host.com/path/to/script.cgi
     $full_url      = url(-full=>1);  # http://your.host.com/path/to/script.cgi
     $relative_url  = url(-relative=>1); #script.cgi
     $absolute_url  = url(-absolute=>1); #path/to/script.cgi
     $url_with_path = url(-path_info=>1);
     $url_with_path_and_query = url(-path_info=>1,-query=>1);
     $netloc        = url(-base => 1); #http://your.host.com
 

 五 CGI.pm中的html元素方法的特殊用法

 如果元素的第二個參數(shù)為list類型,則會被分解,例如:

復制代碼 代碼如下:

print ul(
              li({-type=>'disc'},['Sneezy','Doc','Sleepy','Happy'])
            );
 

 相當于:
    ul>
      li type="disc">Sneezy/li>
      li type="disc">Doc/li>
      li type="disc">Sleepy/li>
      li type="disc">Happy/li>
    /ul>
 例如table可以寫為:
復制代碼 代碼如下:

  print table({-border=>undef},
            caption('When Should You Eat Your Vegetables?'),
            Tr({-align=>'CENTER',-valign=>'TOP'},
            [
               th(['Vegetable', 'Breakfast','Lunch','Dinner']),
               td(['Tomatoes' , 'no', 'yes', 'yes']),
               td(['Broccoli' , 'no', 'no',  'yes']),
               td(['Onions'   , 'yes','yes', 'yes'])
            ]
            )
         );

  六 CGI.pm中非標準的html元素方法

  print comment('here is my comment'); #generates an HTML comment (!-- comment -->)
 因為與perl方法沖突,所以大寫的:
     Select
     Tr
     Link
     Delete
     Accept
     Sub
 其他特殊的html元素方法:start_html(), end_html(), start_form(), end_form(), start_multipart_form() and all the fill-out form tags。

 七 CGI.pm中的form相關

 1 start_form 和start_multipart_form

復制代碼 代碼如下:

  print start_form(-method=>$method,
                     -action=>$action,
                     -enctype=>$encoding);
       ... various form stuff ...>
     print end_form;
         -or-
     print start_form($method,$action,$encoding);
       ... various form stuff ...>
     print end_form;

如果沒有指定method,action,enctype,默認地為:
     method: POST
     action: this script
     enctype: application/x-www-form-urlencoded for non-XHTML
              multipart/form-data for XHTML, see multipart/form-data below.
 當使用start_form的時候,enctype為application/x-www-form-urlencoded,如果需要新式的xhtml,則需要使用start_multipart_form,此時enctype為multipart/form-data。

 更多內(nèi)容請參考:cgi man page http://search.cpan.org/~markstos/CGI.pm-3.60/lib/CGI.pm

您可能感興趣的文章:
  • 如何用C寫一個web服務器之GCC項目編譯
  • 如何用C寫一個web服務器之I/O多路復用
  • 如何用C寫一個web服務器之基礎功能
  • 基于Python_腳本CGI、特點、應用、開發(fā)環(huán)境(詳解)
  • 編寫Python CGI腳本的教程
  • 用Ruby進行CGI編程的入門指引
  • 如何用C寫一個web服務器之CGI協(xié)議

標簽:宜春 河北 自貢 六安 石嘴山 松原 淄博 鄂州

巨人網(wǎng)絡通訊聲明:本文標題《perl的cgi高級編程介紹》,本文關鍵詞  perl,的,cgi,高級,編程,介紹,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《perl的cgi高級編程介紹》相關的同類信息!
  • 本頁收集關于perl的cgi高級編程介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产精品精华液网站| 精品制服美女丁香| 中文字幕中文乱码欧美一区二区| 亚洲国产日韩a在线播放性色| av成人老司机| 国产精品嫩草影院com| 中文字幕av不卡| 老司机午夜精品| 国产乱码精品一区二区三| 久久99蜜桃精品| 欧美图片一区二区三区| 午夜精品福利视频网站| 国产乱码精品一区二区三区忘忧草 | 亚洲欧洲精品一区二区三区| 亚洲欧美另类图片小说| 日本美女视频一区二区| 国产毛片精品国产一区二区三区| 国产精品你懂的在线欣赏| 亚洲国产成人tv| 日本v片在线高清不卡在线观看| 国产成人午夜精品影院观看视频 | 欧美午夜影院一区| 欧美三级乱人伦电影| 国产精品久久久久影院| 午夜伦欧美伦电影理论片| 亚洲美女少妇撒尿| 99久久综合精品| 精品国产91久久久久久久妲己| 国产一区视频在线看| 91香蕉视频mp4| 婷婷久久综合九色国产成人| 国产一区二区成人久久免费影院| 精品视频999| 国产精品久线在线观看| 日本aⅴ免费视频一区二区三区| 亚洲图片一区二区| 免费av成人在线| 精品久久久久香蕉网| 亚洲人成7777| 免费成人在线影院| 99riav久久精品riav| 欧美v日韩v国产v| 亚洲免费在线观看视频| 欧美一区二区国产| 国产精品私房写真福利视频| 日本麻豆一区二区三区视频| 欧美在线不卡视频| 亚洲欧美偷拍三级| 国产盗摄一区二区三区| 欧美大白屁股肥臀xxxxxx| 视频在线观看国产精品| 成人av影院在线| 国产人伦精品一区二区| 国产成人在线视频网址| 99精品国产视频| 成人性生交大片| 一区二区三区欧美日韩| 国产精品资源网| 在线观看日韩av先锋影音电影院| 日韩亚洲国产中文字幕欧美| 成人深夜在线观看| 精品国产乱码久久久久久夜甘婷婷 | 1024成人网| 欧美日韩和欧美的一区二区| 蜜臀av国产精品久久久久| 日韩网站在线看片你懂的| 亚洲国产精品尤物yw在线观看| 久久婷婷色综合| 极品少妇xxxx精品少妇偷拍| 欧美电影一区二区| 久久99久久精品欧美| 久久综合999| 国产激情一区二区三区四区| 欧美性猛交xxxx黑人交| 色婷婷久久久久swag精品| 亚洲影院理伦片| 亚洲午夜三级在线| 久久众筹精品私拍模特| 国产一区二区三区国产| 国产欧美一区二区三区沐欲| av电影在线不卡| 亚洲风情在线资源站| 丝袜脚交一区二区| 色狠狠综合天天综合综合| 一本一道波多野结衣一区二区| 中文字幕欧美一区| 欧美午夜电影一区| 精品一区在线看| 一区二区三区四区视频精品免费 | 日本美女视频一区二区| 精品噜噜噜噜久久久久久久久试看| 国产美女精品人人做人人爽| 亚洲一区二区不卡免费| 精品国产乱码久久久久久影片| 九九**精品视频免费播放| 亚洲国产精品传媒在线观看| 在线观看不卡一区| 国产成人在线网站| 亚洲在线免费播放| 日韩一级视频免费观看在线| 免费观看在线色综合| 亚洲精品成人在线| 成人国产精品免费观看视频| 亚洲免费av高清| 成人av一区二区三区| 国产精品久久一卡二卡| 国产99久久久久久免费看农村| 国产欧美精品一区aⅴ影院| 亚洲欧美日韩一区| 精品久久久久久久久久久久久久久 | 欧美一区二区三区不卡| 成人午夜碰碰视频| 一区二区三区在线免费观看| 在线播放/欧美激情| 国产精品一区专区| 天天av天天翘天天综合网| 欧美影院精品一区| 色综合久久久久综合体| 国产老妇另类xxxxx| 日韩精品午夜视频| 亚洲一线二线三线久久久| 欧美日韩亚洲综合在线 | 欧美日韩亚洲不卡| 成人精品免费视频| 国产精品99久久久久久久女警 | 精品午夜久久福利影院| 免费一区二区视频| 久久久久9999亚洲精品| 91首页免费视频| 成人精品免费看| 黑人巨大精品欧美一区| 三级亚洲高清视频| 日韩国产精品久久久久久亚洲| 亚洲一二三区视频在线观看| 亚洲电影欧美电影有声小说| 国产精品美女久久福利网站| 国产日韩欧美高清在线| 中文字幕在线不卡一区| 91啪亚洲精品| 一区二区三区在线影院| 亚洲欧美日韩综合aⅴ视频| 色94色欧美sute亚洲线路一ni| 99精品国产91久久久久久| 91电影在线观看| 欧美精选一区二区| 久久国产精品一区二区| 日韩美女一区二区三区四区| 91精品国产福利在线观看| 91精品国产综合久久久蜜臀图片| 一本到三区不卡视频| 欧美亚男人的天堂| 久久成人免费电影| 成人av在线一区二区| 美女mm1313爽爽久久久蜜臀| 粉嫩一区二区三区在线看| 久久久久久久久久久久久夜| 亚洲综合视频在线| 亚洲精品国产一区二区精华液| 这里是久久伊人| 99国产精品久久久久久久久久| 久久久亚洲精品石原莉奈 | 极品美女销魂一区二区三区免费| 中文子幕无线码一区tr| 欧美精品一区二区久久婷婷| 欧美一级专区免费大片| 久久综合精品国产一区二区三区| 日韩女优毛片在线| 久久亚洲免费视频| 亚洲国产成人va在线观看天堂| 日韩理论片网站| 免费美女久久99| 久久久国产一区二区三区四区小说| 欧洲av在线精品| 欧美电视剧在线看免费| 国产亚洲人成网站| 国产精品污污网站在线观看| 国产欧美1区2区3区| 亚洲狠狠丁香婷婷综合久久久| 国产乱码精品1区2区3区| 波多野结衣中文字幕一区二区三区| 国产成都精品91一区二区三 | 亚洲一区二区三区四区在线| 亚洲一区二区三区视频在线| 婷婷综合久久一区二区三区| 精品一区二区三区不卡| 99久久国产综合精品麻豆| 在线免费精品视频| 欧美性感一区二区三区| 国产自产视频一区二区三区| 精品国产一区二区三区av性色| 欧美一卡二卡三卡| 亚洲国产精品尤物yw在线观看| 大尺度一区二区| 国产精品免费丝袜| 懂色av中文一区二区三区| 欧洲视频一区二区| 亚洲视频 欧洲视频| 国产一区二区三区精品视频| 欧美三级蜜桃2在线观看| 国产精品国模大尺度视频|