锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精品观看,久久综合福利,一区二区三区四区五区精品视频 http://m.shnenglu.com/prayer/category/12855.html鍦ㄤ竴鑸腑瀵繪眰鍗撹秺zh-cnTue, 08 Jun 2010 03:35:36 GMTTue, 08 Jun 2010 03:35:36 GMT60shell鐨勬晥鐜囦笉濡俻erl鎴朠ython? http://m.shnenglu.com/prayer/archive/2010/06/07/117311.htmlPrayerPrayerMon, 07 Jun 2010 04:25:00 GMThttp://m.shnenglu.com/prayer/archive/2010/06/07/117311.htmlhttp://m.shnenglu.com/prayer/comments/117311.htmlhttp://m.shnenglu.com/prayer/archive/2010/06/07/117311.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/117311.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/117311.html
shell鏂囨湰澶勭悊鏂歸潰錛屼富瑕佹槸鏈塻ed錛宎wk榪欎袱鎶婂垁銆?br>
鍏夌粰浣犱釜shell浣犺繘琛屾枃鏈鐞嗘槸鍋氫笉鍒扮殑錛屽綋鐒剁畝鍗曠殑榪樺彲浠ャ?br>
perl閲屾湁姝e垯琛ㄨ揪寮忓紩鎿庯紝鑳介拡瀵規枃鏈繘琛屾媶鍒嗘浛鎹㈢瓑澶嶆潅鎿嶄綔錛屽叧閿槸錛宲erl涓嶇敤fork鍑烘柊鐨勮繘紼嬫潵澶勭悊榪欎簺浜嬫儏錛岃宻hell闇瑕佷嬌鐢ㄧ閬撶瓑閫氳繃榪欎簺sed錛宎wk鐨勮繘紼嬫潵澶勭悊錛岃嚦灝戝氨澶氬嚭閮ㄥ垎榪涚▼鐨勫紑閿銆?br>
鑰屼笖錛岀閬撹繖涓笢瑗匡紝鍘熸湰涓涓伐鍏蜂竴嬈¤兘瀹屾垚鐨勪換鍔★紝鍦ㄩ渶瑕佺粡榪噑ed錛屽拰awk絳夊嬈$閬撱傛晥鐜囧彲鎯寵岀煡銆?br>
鍏跺疄浣犺繖涓棶棰橀棶鐨勬湁鐐瑰急鏅猴紝SHELL鏄粈涔堬紵

SHELL鍙槸涓涓帴鍙o紝澶ч儴鍒嗙殑鍔熻兘鍏ㄩ潬澶栭儴紼嬪簭鏉ュ畬鎴愩?br>鑰孭erl鏄竴縐嶈璦錛屽熀鏈笂浠涔堜簨鎯呴兘鑳藉仛銆?/td>


鑰佽佸疄瀹炲濂戒竴鏍蜂笢瑗挎渶瀹為檯銆?br>褰撲綘鍙傚姞闈㈣瘯鐨勬椂鍊欙紝濡傛灉鍙互鑷俊鐨勮鑷繁鐔熺粌浣跨敤Shell鎴栬匬erl錛岄偅灝辯浉褰撲笉閿欎簡銆?br>鏁堢巼涔嬬被鐨勪簯浜戯紝鍏蜂綋闂鍏蜂綋鍒嗘瀽鍚э紝鑳借В鍐沖伐浣滀腑閬囧埌鐨勯棶棰樺氨琛屻?br>

鐪嬪嚭鏉ユゼ涓繪瘮杈冨叧蹇冩枃鏈鐞嗭紝涓嬮潰榪欎釜姣旀柟涓嶄竴瀹氭伆褰擄紝浣嗗凡緇忓緢鎺ヨ繎浜嗭細


  • 鐩告瘮杈冭岃█錛宎wk銆乻ed灝卞儚姝繪澘鎵嬶紝鑰宲erl鍜宲ython鏄釜媧繪澘鎵嬨?br>
  • awk鍜宻ed涓撴敞浜庢枃鏈鐞嗭紝澶ч儴鍒嗘儏鍐墊晥鐜囪浼樹簬perl絳夈傚緢綆鍗曪紝姣斿鍒楁枃浠訛紝璋佽兘鏈塩at鐨勬晥鐜囬珮錛?br>
  • 濡傛灉浣犳槸涓噿鎯扮殑SA錛岄偅灝辯敤shell鍚с傚鏋滄槸geek鎴栬呬綘鐨勫伐浣滈渶瑕佸鏉傜殑閫昏緫錛屽茍涓旇繕浼氬嚭鐜拌澶氭棤娉曢鐭ョ殑鏂拌姹傦紝閭e氨鐢╬erl絳夊ソ浜嗐?br>


娌¢偅涔堝鍏抽敭瀛楋紝鏄墦瀛楁墜璇紝浣嗘槸1-10涓囨暟閲忕駭鐨勫叧閿瓧錛屽湪鍗冧竾琛岀駭鏂囨湰鏂囦歡涓悳绱紝榪欎釜閲忚繕鏄湁鐨勩?br>
鏉ユsed multiple keywords search in batch鐨勪唬鐮侊紝嬈㈣繋鍏朵粬鏂版兂娉曘?
  1.                 local num_in_batch=300
  2.                 local batch_counter=0
  3.                 local log_display_in_batch=1000
  4.                 local bbl_counter=0
  5.                 local num_in_bl_counter=0
  6.                 declare -a bbl_arr=()
  7.                 local keyword=
  8.                 local keyword_del

  9.                
  10.                 logMsg $debug_flag null "Starting blacklist checking in batch."

  11.                 for msisdn in `cut -d: -f2 $tmpfile`; do       
  12.                         if [ $batch_counter -eq $num_in_batch ]; then
  13.                                 keyword="${keyword}$msisdn"
  14.                                 bbl_arr=(`sed -rn "/$keyword/p" $filter_file`)
  15.                                 local num=${#bbl_arr[@]}
  16.                                 ((num_in_bl_counter+=num))
  17.                                 if [ $num -gt 1 ]; then
  18.                                         keyword_del=`echo ${bbl_arr[@]} | tr " " "|"`
  19.                                         sed -ri "/${keyword_del}/d" $inputfile
  20.                                 fi
  21.                                 keyword=
  22.                                 batch_counter=0
  23.                         else
  24.                                 keyword="${keyword}$msisdn|"
  25.                         fi
  26.                         if [ $((bbl_counter%log_display_in_batch)) -eq 0 ]; then
  27.                                 logMsg $debug_flag null "$bbl_counter MSISDN processed."
  28.                         fi
  29.                         ((batch_counter++))
  30.                         ((bbl_counter++))
  31.                 done
澶嶅埗浠g爜


Prayer 2010-06-07 12:25 鍙戣〃璇勮
]]>
Activeperl windows涓嬫墍鏈夌増鏈畼鏂逛笅杞藉湴鍧http://m.shnenglu.com/prayer/archive/2010/01/29/106748.htmlPrayerPrayerFri, 29 Jan 2010 09:32:00 GMThttp://m.shnenglu.com/prayer/archive/2010/01/29/106748.htmlhttp://m.shnenglu.com/prayer/comments/106748.htmlhttp://m.shnenglu.com/prayer/archive/2010/01/29/106748.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/106748.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/106748.htmlActiveperl windows涓嬫墍鏈夌増鏈畼鏂逛笅杞藉湴鍧
Activeperl windows涓嬫墍鏈夌増鏈畼鏂逛笅杞藉湴鍧錛?/div>
 
Name                    Last modified      Size  Description

Parent Directory                             -   
5.005/                  01-Aug-2007 23:17    -  
5.6/                    01-Aug-2007 23:17    -  
5.8/                    01-Aug-2007 23:17    -  
 

Index of /ActivePerl/Windows/5.6

Name                                                     Last modified      Size  Description
Parent Directory - unsupported/ 01-Aug-2007 23:17 - ActivePerl-5.6.0.611.msi 17-Mar-2000 22:29 7.8M ActivePerl-5.6.0.613.msi 28-Mar-2000 19:48 8.0M ActivePerl-5.6.0.615-MSWin32-x86-multi-thread.msi 06-Jul-2000 17:00 8.2M ActivePerl-5.6.0.616-MSWin32-x86-multi-thread.msi 14-Jul-2000 22:20 7.9M ActivePerl-5.6.0.617-MSWin32-x86-multi-thread.msi 01-Sep-2000 02:57 8.2M ActivePerl-5.6.0.618-MSWin32-x86-multi-thread.msi 14-Sep-2000 03:27 8.3M ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi 01-Nov-2000 03:18 8.2M ActivePerl-5.6.0.623-MSWin32-x86-multi-thread.msi 16-Dec-2000 00:38 7.3M ActivePerl-5.6.0.623-MSWin32-x86-multi-thread.zip 16-Dec-2000 03:55 7.9M ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.msi 06-Feb-2001 21:17 7.5M ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.zip 06-Feb-2001 21:18 7.9M ActivePerl-5.6.1.625-TRIAL3-MSWin32-x86-multi-thread.msi 23-Mar-2001 06:06 7.7M ActivePerl-5.6.1.625-TRIAL3-MSWin32-x86-multi-thread.zip 23-Mar-2001 06:06 8.1M ActivePerl-5.6.1.626-MSWin32-x86-multi-thread.msi 02-May-2001 22:35 7.9M ActivePerl-5.6.1.626-MSWin32-x86-multi-thread.zip 02-May-2001 22:37 8.4M ActivePerl-5.6.1.628-MSWin32-x86-multi-thread.msi 05-Jul-2001 19:02 8.0M ActivePerl-5.6.1.628-MSWin32-x86-multi-thread.zip 05-Jul-2001 19:02 8.5M ActivePerl-5.6.1.629-MSWin32-x86-multi-thread.msi 24-Aug-2001 15:40 7.9M ActivePerl-5.6.1.629-MSWin32-x86-multi-thread.zip 24-Aug-2001 15:45 8.5M ActivePerl-5.6.1.630-MSWin32-x86.msi 01-Nov-2001 04:41 12M ActivePerl-5.6.1.630-MSWin32-x86.zip 01-Nov-2001 04:42 12M ActivePerl-5.6.1.631-MSWin32-x86.msi 03-Jan-2002 01:38 8.1M ActivePerl-5.6.1.631-MSWin32-x86.zip 03-Jan-2002 01:39 8.0M ActivePerl-5.6.1.632-MSWin32-x86-bad.msi 03-Jun-2002 23:23 8.5M ActivePerl-5.6.1.632-MSWin32-x86.msi 10-Jun-2002 22:38 8.5M ActivePerl-5.6.1.632-MSWin32-x86.zip 03-Jun-2002 23:23 8.4M ActivePerl-5.6.1.633-MSWin32-x86.msi 20-Jun-2002 17:26 8.6M ActivePerl-5.6.1.633-MSWin32-x86.zip 20-Jun-2002 17:26 8.4M ActivePerl-5.6.1.635-MSWin32-x86-symbols.zip 04-Feb-2003 23:53 4.5M ActivePerl-5.6.1.635-MSWin32-x86.msi 06-Feb-2003 05:48 8.4M ActivePerl-5.6.1.635-MSWin32-x86.zip 10-Feb-2003 21:30 8.3M ActivePerl-5.6.1.638-MSWin32-x86-symbols.zip 16-Apr-2004 19:54 4.5M ActivePerl-5.6.1.638-MSWin32-x86.msi 16-Apr-2004 19:53 8.5M ActivePerl-5.6.1.638-MSWin32-x86.zip 16-Apr-2004 19:54 8.3M MD5SUM 01-Aug-2007 23:17 2.6K


Prayer 2010-01-29 17:32 鍙戣〃璇勮
]]>perl璇█綆浠?/title><link>http://m.shnenglu.com/prayer/archive/2010/01/25/106400.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Mon, 25 Jan 2010 08:23:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/01/25/106400.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/106400.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/01/25/106400.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/106400.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/106400.html</trackback:ping><description><![CDATA[<table style="TABLE-LAYOUT: fixed; WIDTH: 100%"> <tbody> <tr> <td> <div id="hvzpftn" class=cnt id=blog_text> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">P</span><span style="FONT-SIZE: 12pt">erl</span><span style="FONT-SIZE: 12pt">鏄粈涔堜笢瑗垮憿<span>? </span>瀹冩槸<span>Practical Extraction Report Language</span>絳夊瓧鐨勭緝鍐欙紝鏄竴縐嶈兘鎵浠繪剰鏂囧瓧鏂囦歡錛屽茍涓旇兘浠庝腑鍙栧嚭淇℃伅鍒舵垚鎶ヨ〃鐨勮В璇戣璦<span>(Interpreter)</span>銆傚鏋滀綘鎳?span>UNIX</span>鐨勮瘽錛屽畠鐨勭洰 鐨勫氨鏄敤鏉ュ彇浠?span>UNIX</span>鍘熸湁鐨?span>sed</span>銆?span>awk</span>涓?span>shell script</span>鐨勭粍鍚堬紝鐢ㄦ潵姹囬泦淇℃伅銆佷駭鐢熸姤琛ㄧ殑涓涓伐鍏瘋璦<span>(</span>紼嬪簭<span>)</span>銆?span>Perl</span>鐨勪綔鑰呮槸<span>Larry Wall <lwall@netlabs.com></span>銆備粬鏇劇粡璐$尞榪囧ソ鍑犱釜寰堟湁鐢ㄧ殑<span>Public Domain</span>紼嬪簭緇欏ぇ瀹朵嬌鐢紝鍖呮嫭<span>patch</span>鍜?span>rn</span>銆備粬璁捐<span>Perl</span>鏃剁殑鍝插鏄互瀹炵敤涓虹涓浼樺厛<span>(</span>鎵璋撶殑瀹炵敤灝辨槸璇█瀹規槗浣跨敤銆佹湁鏁堢巼錛岃屼笖瀹屾暣<span>)</span>錛岃屼笉 鏄璁′竴涓湅璧鋒潵寰堟紓浜殑璇█<span>(</span>婕備寒灝辨槸紼嬪簭闈炲父鐨勫皬錛岃娉曞菇闆咃紝鑰屼笖鍙敱鏈灝戠殑璇硶鍩烘湰鍏冪礌鏋勬垚<span>)</span>錛屾墍浠ュ彧瑕佷綘瀛︿笂鎵嬩簡錛屼綘灝變細娣辨繁鐨勫枩嬈笂<span>Perl</span>鐨?瀹炵敤鎬у拰鏂逛究鎬с?<span></span></span></p> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">P</span><span style="FONT-SIZE: 12pt">erl</span><span style="FONT-SIZE: 12pt">鍖呭惈浜?span>C</span>銆?span>sed</span>銆?span>awk</span>鍜?span>sh</span>榪欏嚑涓伐鍏鋒渶濂界殑鐗硅壊錛岃屼笖涓昏鐨勮娉曞緢鎺ヨ繎<span>C</span>璇█錛屽鍘熸湰鐔熸倝<span>C</span>璇█鐨勪漢鏉ヨ闈炲父瀹規槗涓婃墜銆傚氨鎴戜釜浜虹殑緇忛獙錛岄櫎浜?span>C</span>浠ュ錛屽鏋滆兘鍐嶆噦<span>shell script</span>鐨勮娉曟槸鏈濂戒笉榪囦簡錛屽洜涓?span>Perl</span>涓竴浜涚鍙風殑浣跨敤鍜?span>shell script</span>鏄竴鑷寸殑銆傚綋鐒跺鏋滃張鎳傚緱<span>awk</span>鍜?span>sed</span>閭e氨鏇村ソ浜嗐?span>Larry Wall</span>璇磋繃涓鍙ヨ瘽錛氥?span>Perl</span>鏄噿浜虹敤鐨勫伐鍏楓?span>(</span>浜庢垜蹇冩湁鎴氭垰鐒?span>^_^)</span>銆傚鏋?span>Perl</span>涓嶆槸姣斿叾瀹冭璦鏇村ソ鏇寸畝鍗曟洿瀹規槗涓婃墜錛屾亹鎬曞緢灝戜漢鎰挎剰鍘誨涔犳柊鐨勭▼搴忚璦銆?<span></span></span></p> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">姝?/span><span style="FONT-SIZE: 12pt">鐢變簬<span>Perl</span>鐨勭壒鎬э紝瀹規槗澶勭悊瀛楃涓插弬鏁扮殑浼犻掞紝鑷劧鎴愪簡鏌愪簺鐗規畩鐢ㄩ旂殑鏂板疇錛屽挨鍏舵槸<span>CGI</span>錛屽椒浣?span>Perl</span>澶╃敓鏄負浜?span>CGI</span>鑰岃璁$殑<span>! </span>浜嬪疄涓?span>CGI</span>鏈韓瀹氫箟鏄拰浣跨敤鐨勭▼搴忚璦縐嶇被鏃犲叧鐨勶紝浣犲彲浠ョ敤<span>C</span>銆?span>Fortran</span>銆佺敋鑷?span>Visual Basic</span>銆?span>Delphi</span>鏉ュ啓<span>CGI</span>紼嬪簭銆傞偅涓轟粈涔堝ぇ瀹剁幇鍦ㄩ兘閲囩敤<span>Perl</span>鍛?span>? </span>鍘熷洜鏈変笅闈㈠嚑鐐癸細 <span></span></span></p> <ul type=disc> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">鈯橮erl</span><span style="FONT-SIZE: 12pt">鏈夐潪甯告澃鍑虹殑鏂囧瓧澶勭悊鑳藉姏錛岃兘杞繪槗鍦頒駭鐢?span>HTML</span>妾旓紝灝ゅ叾瀹冨叿鏈夊畬鏁寸殑<span>Regular Expression</span>璇硶錛屼嬌寰楀湪<span>C</span>璇█鐪嬫潵蹇呴渶瑕佸啓涓澶т覆紼嬪簭浠g爜鐨勫姛鑳斤紝<span>Perl</span>鍑犺灝辮В鍐充簡銆?<span></span></span> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">鈯橮erl</span><span style="FONT-SIZE: 12pt">鏄竴縐嶇洿璇戝紡璇█錛屽洜姝ゅ彲浠ラ伩鍏嶅湪鍚勭涓嶅悓緋葷粺涓婏紝榪橀渶瑕侀噸鏂扮紪璇戠殑楹葷儲銆?<span></span></span> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">鈯橮erl</span><span style="FONT-SIZE: 12pt">鐨勬鏌ユ棗鏍?span>(-T)</span>鍙互淇濇姢浣犵殑<span>Web Server</span>錛岄伩鍏嶈鏈粡鎺堟潈鐨?span>client</span>鐮村潖銆?<span></span></span></li> </ul> <p style="MARGIN-BOTTOM: 12pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">涓</span><span style="FONT-SIZE: 12pt">涓璦鐨勫ソ鍧忥紝鎴戞兂鎴戜滑鍙互浠庝笁涓柟鍚戞潵鐪嬶細鏁版嵁鍨嬫?span>(data type)</span>銆佹祦紼嬫帶鍒跺彊榪?span>(control statements)</span>銆佺壒孌婂姛鑳姐?<span></span></span></p> <ul type=disc> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">錛?span>.Perl</span>鐨勬暟鎹瀷鎬佽窡<span>C</span>璇█鍜?span>Pascal</span>涓嶅ぇ涓鏍鳳紝浣嗗畠涔熸敮鎸佹寚鏍?span>(pointer</span>錛?span>Perl5</span>浠ュ悗鎵嶆敮鎸?span>)</span>錛屾墍浠ヤ篃鍙互鍜?span>C</span>璇█涓鏍風粍鍚堝嚭寰堝鏉傜殑鏁版嵁緇撴瀯<span>(data structure)</span>銆傜壒鍒殑鏄?span>Perl</span>鏈変竴縐嶆柊鐨?span>data type</span>錛氱浉鍏蟲暟緇勶紝瀹冨拰涓鑸暟緇勬病浠涔堜笉鍚岋紝宸埆鍙湪瀹冪殑绱㈠紩鍊兼槸鐢ㄥ瓧絎︿覆錛岃岄潪涓鑸父鐢ㄧ殑鏁存暟鍊鹼紝鍥犳鐩稿叧鏁扮粍涓嶅儚涓鑸暟緇勪竴鏍鋒湁嬈″簭鐨勬蹇碉紝瀹冩病鏈夋墍璋撶殑絎竴欏規暟鎹繖縐嶈娉曘傛垜涓漢璁や負濡傛灉鑳藉杽鐢ㄨ繖縐?span>data type</span>浼氬甫緇欎綘鎰忔兂涓嶅埌鐨勬敹鑾峰摝銆?span></span></span> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">錛?span>.Perl</span>鐨勬潯浠舵帶鍒跺彊榪?span>(conditional control statements)</span>涓庡驚鐜帶鍒跺彊榪?span>(loop control statements)</span>鍑犱箮鍜?span>C</span>璇█涓妯′竴鏍鳳紝鐢氳嚦璇硶鍜屼竴浜涘父鐢ㄧ殑鎸囦護涔熷拰<span>C</span>璇█寰堢被浼鹼紝榪欏涓鑸嬌鐢ㄨ呰岃█鏄緢鏂逛究鐨勶紝鍙互寰堝揩鐨勮浣跨敤鑰呰繘鍏ョ姸鍐碉紝 榪涗竴姝ヤ簡瑙?span>Perl</span>鐨勭簿鍗庛傝屽湪<span>Perl5</span>涓張寮曡繘浜嗘ā鍧楀寲鍜屽尯鍩熷彉閲?span>(local variables)</span>鐨勮蹇碉紝澶уぇ鐨勫寮轟簡<span>Perl</span>鐨勮兘鍔涳紝浣?span>Perl</span>鍑犱箮鍙樺緱鏃犳墍涓嶈兘銆?<span></span></span> <li style="TEXT-ALIGN: left"><span style="FONT-SIZE: 12pt">錛?span>.Perl</span>澶勭悊瀛楃涓茬殑鑳藉姏鏄紬鎵鐨嗙煡鐨勶紝闄や簡瀹冪殑綰噺鍙橀噺<span>(scalar variable)</span>鍙互寰堣交鏄撶殑瀛樺彇瀛楃涓詫紝鐗瑰埆鐨勬槸<span>Perl</span>鎻愪緵鍜?span>UNIX</span>寰堢浉榪戠殑<span>Regular Expressions</span>璇硶錛岃繖縐嶆牸寮忚鯨璁?span>(pattern-matching)</span>鐨勮娉曞緢澶嶆潅浣嗗崄鍒嗗己澶э紝澶уぇ鍦板寮轟簡<span>Perl</span>澶勭悊瀛楃涓茬殑鑳藉姏錛岃鍠勭敤<span>Perl</span>澶勭悊瀛楃涓茬殑鑳藉姏錛屽氨寰楀厛瀵?span>Regular Expressions</span>鐥涗笅涓鐣姛澶笉鍙傝繖涓笢涓滃疄鍦ㄤ笉濂芥噦錛屼笉榪囧彧瑕佷綘鐢ㄤ笂浜嗘墜錛岀湡鐨勬槸濡傝檸娣葷考錛屾瘡嬈′嬌鐢ㄦ椂閮戒細涓哄畠寮哄ぇ鐨勫姛鑳界獌鍠滐紝鍙嶈岃寰?span>C</span>騫蟲貳鏃犲銆傚彟澶?span>Perl</span>鏈変竴鍫嗙壒孌婄殑鍏ㄥ煙鍙橀噺<span>(global variables)</span>錛岀敤鏉ヨ瀹氱▼搴忕殑鎵ц鐜鍜屽叾瀹冪粏鑺傦紝鍙兘灝忓埌鏁扮粍绱㈠紩鐨勮搗濮嬪鹼紝澶у埌杈撳嚭瀛楁鐨勫垎闅旂鍙烽兘鏈夊獎鍝嶃傝繖涔堝鐨勭壒孌婂彉閲忓澶у鏁扮殑浜鴻岃█鏄彧鏄釜鍥版壈錛屼絾鏄垜寤鴻鑻ヨ娣卞叆浜嗚В<span>Perl</span>銆佸杽鐢?span>Perl</span>錛屾渶濂藉浜嗚В榪欎簺鐗規畩鍙橀噺鐨勬剰涔夈?<span></span></span></li> </ul> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">璇?/span><span style="FONT-SIZE: 12pt">浜嗚繖涔堝<span>Perl</span>鐨勪紭鐐癸紝鍏跺疄<span>Perl</span>涔熸槸鏈夌己鐐圭殑錛屾渶浠や漢鍨㈢梾鐨勫氨鏄墽琛岄熷害銆傜敱浜?span> Perl</span>鏄洿璇戝紡鐨勭▼搴忚璦<span>(Interpreter)</span>錛屼笉闇瑕佷簨鍏堢粡榪囩紪璇?span>(compile)</span>錛岃繖涓鐐瑰湪鍙戝睍紼嬪簭鍒濇湡寰堟湁鐢紝紼嬪簭鍐欏ソ浜嗗氨鍙互鐩存帴 <span>run</span>浜嗭紝浣嗙己鐐規槸紼嬪簭鎵ц鐨勯熷害浼氬彉鎱紝涓嶅埄浜庡彂灞曞ぇ紼嬪簭鎴栫郴緇熺▼搴忋備笉榪?span>Perl</span>瀵逛笂榪頒竴鑸В璇戣璦鐨勭己鐐瑰仛浜嗕竴鐐規敼鑹紝瀹冨湪鎵ц鏃朵細鍏堝姞杞芥暣涓▼搴?鐮侊紝騫舵墽琛屽垵姝ョ殑<span>compile</span>錛屽寘鎷娉曟鏌ュ拰寤虹珛絎﹀彿琛紝鍥犳<span>Perl</span>姣斾竴鑸?span>script</span>璇█瀹夊叏鑰屼笖蹇浜嗐備絾鏄氨鎴戣瀵熸墍寰楋紝<span>Perl</span>鏈変竴浜涜璁?瀹炲湪寰堟氮璐瑰唴瀛樺拰<span>CPU</span>錛屼技涔?span>Perl</span>騫朵笉寰堝湪鎰忓唴瀛樺拰閫熷害錛岃屾槸浠ュ疄鐢ㄦу拰鏂逛究鎬т負浼樺厛鑰冭檻銆傚叾瀹炵敱浜庣‖浠舵妧鏈殑榪涙錛屽鐜板湪鏉ヨ錛屽唴瀛樺拰<span>CPU </span>閫熷害宸茬粡涓嶆槸閭d箞浠や漢鍦ㄦ剰錛屽弽鑰岀▼搴忕殑瀹夊叏鎬у拰浜插拰鎬ф墠鏄冭檻鐨勯噸鐐癸紝鍍?span>Microsoft WORD</span>榪欏彧澶ф吔涓鏍鳳紝鎵浠ュ閫熷害瑕佹眰姣旇緝澶氱殑鐜╁錛屼篃鍙湁璇蜂綘澶氬蹇嶈愪簡銆?<span></span></span></p> <p style="TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 18pt">鎬?/span><span style="FONT-SIZE: 12pt">鑰岃█涔嬶紝<span>Perl</span>鐨勪紭鐐瑰澶氾紝灝ゅ叾鏄畠浼樺紓鐨勫鐞嗗瓧絎︿覆鑳藉姏錛屾洿浣垮畠寮傚啗紿佽搗錛屾垚涓?span>CGI</span>紼嬪簭鐨勬柊瀹狅紝榪欎篃鏄負浠涔?span>Perl</span>浼氭祦琛岃搗鏉ョ殑涓昏鍘熷洜銆?<span></span></span></p> </div> </td> </tr> </tbody> </table> <img src ="http://m.shnenglu.com/prayer/aggbug/106400.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-01-25 16:23 <a href="http://m.shnenglu.com/prayer/archive/2010/01/25/106400.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>python綆浠?/title><link>http://m.shnenglu.com/prayer/archive/2010/01/25/106399.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Mon, 25 Jan 2010 08:21:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/01/25/106399.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/106399.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/01/25/106399.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/106399.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/106399.html</trackback:ping><description><![CDATA[<table style="TABLE-LAYOUT: fixed; WIDTH: 100%"> <tbody> <tr> <td> <div id="hvzpftn" class=cnt id=blog_text> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">“Python”</span><span style="FONT-SIZE: 12pt; COLOR: black">榪欎釜鑻辨枃鍗曡瘝鐨勫彂闊充技</span><span style="FONT-SIZE: 12pt; COLOR: black">“</span><span style="FONT-SIZE: 12pt; COLOR: black">媧炬.</span><span style="FONT-SIZE: 12pt; COLOR: black">”</span><span style="FONT-SIZE: 12pt; COLOR: black">錛屽洜姝や腑鏂囧彲浠ョО涔嬩負媧炬.銆?/span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鏄竴涓湁</span><span style="FONT-SIZE: 12pt; COLOR: black">10</span><span style="FONT-SIZE: 12pt; COLOR: black">騫村巻鍙茬殑</span><span style="FONT-SIZE: 12pt; COLOR: black">Windows</span><span style="FONT-SIZE: 12pt; COLOR: black">緙栫▼璇█銆?/span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鐨勫垱濮嬩漢涓?/span><span style="FONT-SIZE: 12pt; COLOR: black">Guido van Rossum</span><span style="FONT-SIZE: 12pt; COLOR: black">銆?/span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鏄竴縐嶅嵆璇戝紡鐨勶紝浜掑姩鐨勶紝闈㈠悜瀵硅薄鐨勭紪紼嬭璦錛屽畠鍖呭惈浜嗘ā緇勫紡鐨勬搷浣滐紝寮傚父澶勭悊錛屽姩鎬佽祫鏂欏艦鎬侊紝鍗佸垎楂樺眰嬈$殑鍔ㄦ佽祫鏂欑粨鏋勶紝浠ュ強綾誨埆鐨勪嬌鐢ㄣ?/span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鎻?鍚堜簡綆鍗曠殑璇硶鍜屽己澶х殑鍔熻兘銆傚畠鐨勮娉曡〃杈句紭緹庢槗璇匯傚畠鍏鋒湁寰堝浼樼鐨勮剼鏈璦鐨勭壒鐐癸細瑙i噴鐨勶紝闈㈠悜瀵硅薄鐨勶紝鍐呭緩鐨勯珮綰ф暟鎹粨鏋勶紝鏀寔妯″潡鍜屽寘錛屾敮鎸佸縐?騫沖彴錛屽彲鎵╁睍銆傝屼笖瀹冭繕鏀寔浜や簰寮忔柟寮忚繍琛岋紝鍥懼艦鏂瑰紡榪愯銆傚畠鎷ユ湁浼楀鐨勭紪紼嬬晫闈㈡敮鎸佸悇縐嶆搷浣滅郴緇熷鉤鍙頒互鍙婁紬澶氱殑鍚勭被鍑芥暟搴撱傚埄鐢?/span><span style="FONT-SIZE: 12pt; COLOR: black">C</span><span style="FONT-SIZE: 12pt; COLOR: black">鍜?/span><span style="FONT-SIZE: 12pt; COLOR: black">C++</span><span style="FONT-SIZE: 12pt; COLOR: black">鍙互瀵瑰畠榪涜鎵╁厖銆備釜鍒殑搴旂敤杞歡濡傛灉闇瑕佹湁涓涓彲紼嬪簭鍖栫晫闈篃鍙互鍒╃敤瀹冩潵鍋氫負鎵╁睍璇█鐢ㄣ傛渶鍚庯紝</span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鐨勫彲縐繪搴﹂潪甯擱珮</span><span style="FONT-SIZE: 12pt; COLOR: black">:</span><span style="FONT-SIZE: 12pt; COLOR: black">瀹冨彲浠ュ湪璁稿鐨?/span><span style="FONT-SIZE: 12pt; COLOR: black">Unix</span><span style="FONT-SIZE: 12pt; COLOR: black">綾誨鉤鍙頒笂榪愯錛屽湪</span><span style="FONT-SIZE: 12pt; COLOR: black">Mac,MS-DOS,</span><span style="FONT-SIZE: 12pt; COLOR: black">瑙嗙獥</span><span style="FONT-SIZE: 12pt; COLOR: black">Windows</span><span style="FONT-SIZE: 12pt; COLOR: black">錛?/span><span style="FONT-SIZE: 12pt; COLOR: black">Windows NT</span><span style="FONT-SIZE: 12pt; COLOR: black">錛?/span><span style="FONT-SIZE: 12pt; COLOR: black">OS/2</span><span style="FONT-SIZE: 12pt; COLOR: black">錛?/span><span style="FONT-SIZE: 12pt; COLOR: black">BeOS</span><span style="FONT-SIZE: 12pt; COLOR: black">錛屼互鑷?/span><span style="FONT-SIZE: 12pt; COLOR: black">RISCOS</span><span style="FONT-SIZE: 12pt; COLOR: black">涓婇兘鏈夌浉鍏崇殑</span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鐗堟湰銆?/span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鏍稿績緗戠珯鏄?/span><span style="FONT-SIZE: 12pt; COLOR: black">: <a ><font color=#000000><u>http://www.python.org/</u></font></a> </span><span style="FONT-SIZE: 12pt; COLOR: black">錛屽叾涓綘鍙互鎵懼埌寰堝璧勬枡銆傚鏋滄偍絎竴嬈′嬌鐢?/span><span style="FONT-SIZE: 12pt; COLOR: black"> Python, </span><span style="FONT-SIZE: 12pt; COLOR: black">鍙互涓嬭澆涓涓瘯璇曘傜洰鍓嶏紝</span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">宸茬粡鏈夋垚鐧句笂鍗冪殑鍏叡璧勬簮鍙互渚涗綘璋冪敤銆?/span><span style="FONT-SIZE: 12pt; COLOR: black"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">Python</span></strong><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">浣滅敤</span></strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鍙互鐢ㄥ湪璁稿鍦哄悎銆傚綋浣犻渶瑕佸ぇ閲忕殑鍔ㄦ佽皟鏁達紝瑕佸鏄撲嬌鐢紝鍔熻兘寮哄ぇ騫朵笖瀵屾湁寮規х殑鎯呭喌錛?/span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鍙互鍙戞尌寰堝ソ鐨勫姛鏁堛?/span><span style="FONT-SIZE: 12pt"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%">涓涓畯緙栫▼璇█</span></strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">浣犲彲浠ョ敤<span>Python</span>緇欑幇鏈夌殑搴旂敤紼嬪簭娣誨姞涓涓畯璇█鎴栧簳紼跨紪鍒訛紙<span>scripting</span>錛夎兘鍔涖傜粡榪囩◢寰殑璁粌錛屽畠浣跨敤鎴風駭鍒殑搴曠ǹ緙栧埗鍙樺緱綆鍗曘傚彂灞曚竴縐嶆柊鐨勮璦甯稿父琚涓烘槸澶у叕鍙哥嫭瀹朵笓鍒┿?span>Python</span>鏄竴涓綘鍙互鍔犲叆浣犵幇鏈夊伐鍏風殑瀹忚璦騫墮傚悎涓嶅悓鐨勫眰嬈$殑浜轟嬌鐢ㄣ?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt">涓涓揩閫熺殑瀵硅薄妯″瀷鍜岀畻娉曠殑鍘熷瀷寮鍙戝伐鍏?/span></strong><span style="FONT-SIZE: 12pt"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">寮鍙戣蔣浠惰姳璐歸挶璐㈤渶瑕佸緢澶氭椂闂存墠鑳借揪鍒板緢濂界殑鏁堟灉銆傚湪<span>Python</span>涓嬪垱寤哄璞★紝浣犲彲浠ユ瘮鎴戜滑鐭ラ亾鐨勪換浣曡璦鐢ㄦ洿鐭殑浠g爜鍜屾洿灝戠殑鏃墮棿錛屽茍涓斿叏閮ㄦ敮鎸佺戶鎵匡紝瀵嗗皝鍜屽褰㈡с備竴涓瘮杈冩祦琛岀殑鍔炴硶鏄湪<span>Python</span>涓師鍨嬩竴涓▼搴忥紝鐩村埌浣犵浉淇¤璁℃槸姝g‘鐨勫啀鎹㈠埌<span>C++</span>涓紝涓涓洿濂界殑鍔炴硶鏄皢<span>Python</span>搴旂敤紼嬪簭杞粨鍖栵紝鐒跺悗鍦?span>C++</span>涓噸鍐欓熷害鑷沖叧閲嶈鐨勯儴鍒嗐?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"><br><br></span><strong><span style="FONT-SIZE: 12pt">涓涓皟璇曞伐鍏?/span></strong><span style="FONT-SIZE: 12pt"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">鏂扮▼搴忓拰浠g爜搴撻渶瑕佹祴璇曘傛湁緇忛獙鐨勫紑鍙戜漢鍛樼煡閬撶粰涓涓柊鍔熻兘鎴栫▼搴忓緩绔嬩竴涓祴璇曞浠朵細鑺傜害鏃墮棿騫跺噺灝戦夯鐑︺傚鏋滀竴涓▼搴忓彲浠ヤ笌杈撳叆杈撳嚭鏂囦歡宸ヤ綔錛?span>Python </span>鍙互鐢熸垚杈撳叆錛岃繍琛岃繖涓▼搴忥紝鐒跺悗媯鏌ヨ緭鍑哄茍榪涜鍒嗘瀽銆傚鏋滈棶棰樺湪浜庢暟鎹紝浣犲彲浠ョ紪鍐欎竴嬈℃х殑鑴氭湰鏉ユ鏌ユ暟鎹槸鍚︿竴鑷淬?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt">鏁版嵁娓呴櫎鍜岃漿鎹?/span></strong><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">浣犲彲鑳戒細灝嗘暟鎹敱涓涓暟鎹簱縐誨埌涓涓柊鐨勬暟鎹簱錛屾垨鏂板緩涓涓晫闈㈣鏁版嵁鍦ㄤ簰涓嶅吋瀹圭殑緋葷粺涓祦鍔ㄣ傚鏋滀漢宸ユ潵鍋氾紝榪欎細鏄竴涓緢綣佺悙鑰屼笖瀹規槗鐘敊璇殑榪囩▼錛屼綘鎬諱細閬楁紡涓滆タ錛屽埌澶存潵浣犺繕寰楅噸鍋氫互鍓嶇殑宸ヤ綔銆?span>Python</span>瀵瑰垪琛ㄥ拰瀛楀吀鐨勬湰鍦版敮鎸佷嬌澶嶆潅鐨勬暟鎹漿鎹㈡洿鍔犲鏄撱傝屼笖榪欑浜や簰寮忔ā寮忓彲浠ヨ緙栫▼浜哄憳鍦ㄨ漿鎹㈣繃紼嬬殑姣忎竴闃舵瑙傜湅鏁版嵁銆傝繕鍙互緙栧啓鐢辨簮鍒扮洰鏍囩殑鏁版嵁杞崲鐨勮剼鏈茍鎸夐渶瑕佷笉鏂繍琛岋紝鐩村埌瀹冩紜畬鎴愬伐浣溿?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt">Python</span></strong><strong><span style="FONT-SIZE: 12pt">浣滀負綺樺悎鍓?/span></strong><span style="FONT-SIZE: 12pt"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">浜掍笉鍏煎鐨勭郴緇熷父甯擱渶瑕佽鑱斿湪涓璧鳳紝鑰屼笖榪欎釜榪囩▼闇瑕佽嚜鍔ㄨ繘琛屻?span>Python</span>鏀寔鎵鏈夌殑闆嗘垚鍏抽敭鎶鏈傚悓鏃朵篃寰堝ソ鐨勪笌鏂囦歡錛屽崗璁紝<span>DLLs</span>鍙?span>COM</span>瀵硅薄宸ヤ綔銆?span>Python</span>榪樻彁渚涘箍娉涚殑搴撳府鍔╀綘寰楀埌鍑犱箮浠諱綍縐嶇被鐨勬暟鎹傚畠榪樻槸寰堝ソ鐨勬帶鍒跺叾浠栧浠躲佽繘琛岀郴緇熺鐞嗕互鍙婃帶鍒跺叾浠栫郴緇熸暟鎹祦鍔ㄧ殑宸ュ叿銆?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">榪愯鏂瑰紡</span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"></span></strong><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"></span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">Python</span><span style="FONT-SIZE: 12pt">鍙互浠ュ懡浠よ鏂瑰紡榪愯錛屼篃鍙互浜や簰寮忔柟寮忚繍琛岋紝榪樺叿鏈夊浘褰㈤泦鎴愮幆澧冿紝榪欐牱寮鍙?span>Python</span>灝辯浉褰撴柟渚褲傜幇鍦ㄥ凡緇忓嚭鐜頒簡璁稿鐢?span>Python</span>緙栧啓鐨勫彲瑙嗗寲緙栫▼杞歡錛岀敤浜庡疄鐜拌薄<span>Delphi</span>涓鏍風殑鍔熻兘銆?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">闈㈠悜瀵硅薄</span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"><span></span></span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">Python</span><span style="FONT-SIZE: 12pt">鏄竴涓湡姝g殑闈㈠悜瀵硅薄璇█銆傚畠鐢氳嚦鏀寔寮傚父鐨勫鐞嗐傚鏋滃榪?span>Java</span>錛屽簲璇ュ榪欎釜涓嶉檶鐢熴備絾鍏跺畠鐨勮剼鏈璦錛屽<span>PHP</span>錛屽ソ璞″氨娌℃湁銆傝繖浣垮緱紼嬪簭鐨勭紪鍐欐洿鍔犳竻鏅幫紝鑰屼笉闇瑕佽澶氱殑閿欒媯鏌ヤ簡銆?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">妯″潡鍜屽寘</span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"><span></span></span></strong></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">榪欎竴鐐規洿璞℃槸<span>Java</span>銆傚浜?span>Java</span>鐨勬敮鎸侊紝澶у鍙互浜嗚В<span>JPython</span>銆?span>JPython</span>鏄敤<span>Java</span>鍐欑殑<span>Python</span>錛屽畠瀹屽叏鏀寔<span>Java</span>錛屽湪榪欎釜鐜涓嬩嬌鐢?span>Python</span>鍙互闅忔剰鍦頒嬌鐢?span>Java</span>鐨勭被搴撱傝璦鎵╁睍鍙互鐢?span>C</span>銆?span>C++</span>鎴?span>Java</span>涓?span>Python</span>緙栧啓鏂扮殑鏂拌█妯″潡錛屽鍑芥暟銆傛垨鑰呬笌<span>Python</span>鐩存帴緙栬瘧鍦ㄤ竴璧鳳紝鎴栬呴噰鐢ㄥ姩鎬佸簱瑁呭叆鏂瑰紡瀹炵幇銆備篃涓撻棬鏈変漢緙栧啓浜嗕竴涓伐鍏鳳紝鍙互瀹炵幇涓?span>Python</span>鑷姩瀹炵幇鍑芥暟鎺ュ彛灝佽錛岃繖灝辨槸<span>SWIG</span>錛?span>Simplified Wrapper and Interface Generator)</span>錛屾垨縐板仛綆鍗曞皝瑁呭拰鎺ュ彛鐢熸垚鍣?span>(</span>鍙互鍦?span><a ><span style="COLOR: windowtext; TEXT-DECORATION: none">http://sourceforge.net/projects/swig/</span></a>)</span>銆?span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">鏈夎叮鐨勮娉?/span></strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt">Guido</span><span style="FONT-SIZE: 12pt">璁や負<span>Python</span>鐨勮娉曟槸闈炲父浼樼編鐨勩傚叾涓竴鐐瑰氨鏄紝鍧楄鍙ョ殑琛ㄧず涓嶆槸<span>C</span>璇█甯哥敤鐨?span>{}</span>瀵癸紝鎴栧叾瀹冪鍙峰錛岃屾槸閲囩敤緙╄繎琛ㄧず娉曪紒鏈夎叮鍚с傚氨榪欎竴鐐規潵璇達紝<span>Guido</span>鐨勮В閲婃槸錛氶鍏堬紝浣跨敤緙╄繎琛ㄧず娉曞噺灝戜簡瑙嗚涓婄殑娣蜂貢錛屽茍涓斾嬌紼嬪簭鍙樼煭錛岃繖鏍峰氨鍑忓皯浜嗛渶瑕佸鍩烘湰浠g爜鍗曞厓娉ㄦ剰鐨勮寖鍥達紱鍏舵錛屽畠鍑忓皯浜嗙▼搴忓憳鐨勮嚜鐢卞害錛屾洿鏈夊埄浜庣粺涓椋庢牸錛屼嬌寰楅槄璇誨埆浜虹殑紼嬪簭鏇村鏄撱傛劅瑙夎繕鏄笉閿欑殑錛屽氨<span>C</span>璇█鏉ヨ錛屽湪<span>if</span>璇彞鍚庨潰澶ф嫭鍙風殑鍐欐硶灝卞ソ鍑犵錛屼笉鍚岀殑浜哄枩嬈笉鍚岀殑鏍峰瓙錛岃繕涓嶅緇熶竴璧鋒潵錛岄兘涓嶄細鐪嬪緱鍒壄銆?/span><span style="FONT-SIZE: 12pt; COLOR: black"> </span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">鍦ㄦ瘡涓被鎴栧嚱鏁扮殑瀹氫箟鍚庨潰錛岀涓琛屽彲浠ユ槸璇存槑璇彞錛屾牴鏈笉闇瑕佹敞閲婄鏍囪銆傚浜庡悗闈㈣窡鍧楄鍙ョ殑璇彞錛屽悗闈㈠簲璺熶笂涓涓啋鍙楓備竴琛岃鍙ヤ笉鑳藉お闀匡紝鍥犱負娌℃湁琛岀粨鏉熺錛屽鏋滆秴闀垮垯瑕佷嬌鐢ㄧ畫琛岀</span><span style="FONT-SIZE: 12pt; COLOR: black">(\)</span><span style="FONT-SIZE: 12pt; COLOR: black">銆傝繕鏈変竴浜涙湁瓚g殑姣斿璇達紝璞′笅闈㈢殑涓涓瘮杈冨鐞嗭紝鐢?/span><span style="FONT-SIZE: 12pt; COLOR: black">C</span><span style="FONT-SIZE: 12pt; COLOR: black">璇█涓猴細</span><span style="FONT-SIZE: 12pt; COLOR: black"><span>   </span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><span></span></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">if (2</span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">鐢?/span><span style="FONT-SIZE: 12pt; COLOR: black">Python</span><span style="FONT-SIZE: 12pt; COLOR: black">鍙互琛ㄧず涓?/span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black">if (2<a><></a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a> </a></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><a><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">浠涔堟槸<span>Zope?</span></span></strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"> </span></a></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>Zope</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏄竴涓紑鏀炬簮浠g爜鐨?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Web</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>搴旂敤鏈嶅姟鍣紝閲囩敤</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Python</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>璇█寮鍙戯紝浣跨敤瀹冩偍鍙互鏂逛究鐨勬瀯寤哄唴瀹圭鐞嗐佸唴閮ㄧ綉銆侀棬鎴風綉绔欍佸拰鍏朵粬鐨勫畾鍒跺簲鐢ㄣ?/a></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>楂樺害闈㈠悜瀵硅薄鐨?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Web</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>寮鍙戝鉤鍙?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>,</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>閲囩敤</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Python</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>璇█寮鍙戙?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鍙互榪愯鍦ㄥ嚑涔庢墍鏈夋祦琛岀殑鎿嶄綔緋葷粺涓?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>,</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏀寔澶氳璦銆?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鑳介泦鎴愬埌鍏朵粬嫻佽鐨勬湇鍔″櫒錛屼篃鑷甫鏈嶅姟鍣ㄣ?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鎻愪緵娓呮櫚鐨勬暟鎹?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>/</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>閫昏緫</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>/</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>琛ㄧず鐨勫垎紱匯?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>甯︽湁鍙墿灞曠殑鍐呯疆瀵硅薄鍜屽己澶х殑闆嗘垚瀹夊叏妯″潡銆?/a></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a></a></span><a><strong><span style="FONT-SIZE: 12pt; COLOR: black">浠涔堟槸<span>Plone?</span></span></strong></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><a><strong><span style="FONT-SIZE: 12pt; COLOR: black"><span></span></span></strong><strong><span style="FONT-SIZE: 12pt; COLOR: black"></span></strong></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>Pone</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏄竴涓?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Zope</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>涓婄殑涓涓敤鎴峰弸濂姐佸姛鑳藉己澶х殑寮鏀炬簮浠g爜鍐呭綆$悊緋葷粺銆?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Plone</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>閫傚悎鐢ㄤ綔鍐呴儴緗?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>/</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>澶栭儴緗戠殑鏈嶅姟鍣ㄣ佹枃妗e彂甯冪郴緇熴侀棬鎴鋒湇鍔″櫒鍜屽紓鍦板崗鍚岀兢浠跺伐鍏鳳紝鍒扮洰鍓嶏紝</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Plone</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鍏跺疄宸茬粡鍙戝睍鎴愪負浜嗕竴涓簲鐢ㄥ紑鍙戝鉤鍙般?/a></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏄竴縐嶅姛鑳藉己澶х殑寮鏀炬簮鐮?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>(Open Source)</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鍐呭綆$悊緋葷粺</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>(CMS)</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>銆?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>閫氳繃</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>Web</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>嫻忚鍣ㄦ潵璁塊棶銆佺紪杈戝唴瀹瑰拰綆$悊</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>,</a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏄撲簬鏇存柊鍐呭銆?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鏃犻渶緙栫▼錛屽嵆鍙垱寤烘柊鐨勫唴瀹圭被鍨嬨?/a></span><span style="FONT-SIZE: 12pt; COLOR: black"></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"><a>飦?nbsp;        </a></span><span style="FONT-SIZE: 12pt; COLOR: black"><a>鍗忓悓鐨勭紪杈戝拰鍙戝竷鏈哄埗銆?/a></span></p> <p style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" align=left><span style="FONT-SIZE: 12pt; COLOR: black"></span><span style="FONT-SIZE: 12pt; COLOR: black"></span><a></a></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><a><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">Python</span></strong><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">鐨?span>IDE</span>寮鍙戠幆澧?span>:</span></span></strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%"> </span></a></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><a><strong><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"></span></strong></a></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><a><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">Wingide</span></strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">:</span></a><a ><span style="COLOR: rgb(102,102,102); TEXT-DECORATION: none">http:// www.wingide.com</span></a><span style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"></span></p> <p style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: left" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">ipython</span></strong><span style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%">: <a ><span style="COLOR: rgb(102,102,102); TEXT-DECORATION: none">http://ipython.scipy.org/</span></a> </span></p> </div> </td> </tr> </tbody> </table> <br> <img src ="http://m.shnenglu.com/prayer/aggbug/106399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-01-25 16:21 <a href="http://m.shnenglu.com/prayer/archive/2010/01/25/106399.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Windows涓嬩嬌鐢≒erl榪炴帴DB2http://m.shnenglu.com/prayer/archive/2010/01/25/106374.htmlPrayerPrayerMon, 25 Jan 2010 03:17:00 GMThttp://m.shnenglu.com/prayer/archive/2010/01/25/106374.htmlhttp://m.shnenglu.com/prayer/comments/106374.htmlhttp://m.shnenglu.com/prayer/archive/2010/01/25/106374.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/106374.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/106374.html鍘熸枃鍙傝http://www.db2mag.com/story/showArticle.jhtml?articleID=59301551

1. Perl鐨凞B2椹卞姩
Perl璇█鏈韓灝變笉澶氬仛浠嬬粛浜嗐?
1994騫村彂甯冪殑DBI鏄疨erl璇█榪炴帴鍏崇郴鎬ф暟鎹簱鐨勬爣鍑嗐傚彲浠ヤ粠dbi.perl.org鑾峰緱DBI鐨勬簮浠g爜鍜屾枃妗c?
IBM鍦?995騫村彂甯冧簡瀵逛簬Perl鐨凞B2椹卞姩錛岃繖涓┍鍔ㄦ槸絎﹀悎DBI鏍囧噯鐨勶紝鍦≒erl閲岃繖涓┍鍔ㄧО涓篋BD::DB2 銆傚彲浠ヤ粠ibm.com/software/db2/perl鑾峰緱DBD::DB2椹卞姩鐨勬渶鏂頒俊鎭?

娉ㄦ剰錛氭渶榪戠殑DB2椹卞姩闇瑕佽嚦灝慞erl 5.005_03鍜孌BI 1.21鎴栦互涓婄殑鐗堟湰銆?

2. 鍑嗗鐜
姝ラ濡備笅
(1)瀹夎Perl璇█鐜
Windows涓嬪彲浠ヤ粠www.activestate.com鑾峰緱Perl鐨勫畨瑁呭寘銆?
瀹夎鍚庡彲浠ヤ嬌鐢╬erl -v鐪嬬湅Perl鐨勭増鏈俊鎭?
DBI椹卞姩鍜孌BD::DB2椹卞姩閮芥槸浣滀負Perl鐨勯檮鍔犳ā鍧椾嬌鐢╬pm宸ュ叿瀹夎鐨勩傚畨瑁呮柟娉曞弬瑙?2), (3)錛屽畨瑁呮椂鏈濂藉厛鍘籭bm.com/software/db2/perl涓婄湅鐪媝pm鍚庨潰鐨勫弬鏁版湁娌℃湁鍙樺寲銆?

(2)瀹夎DBI椹卞姩
ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBI.ppd

(3)瀹夎DBD::DB2椹卞姩
ppm install http://ftp.esoftmatic.com/outgoing/DBI/5.8.4/DBD-DB2.ppd

(4)瀹夎DB2 runtime client


3. 浣跨敤Perl榪炴帴DB2
(1)浣跨敤DBI鍑芥暟DBI->;data_sources 鏉ユ壂鎻廌B2鏁版嵁搴撶洰褰曞茍榪斿洖涓涓寘鍚簡鏈夋晥鏁版嵁婧愬悕縐?DSN)鐨勬暟緇勩?
----------------datasources.pl-------------
#!/usr/lib/perl -w
#
# This perl script prints the list of cataloged DB2 data-sources
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

print "Operating Systems = $^O\n";
print "Perl Binary = $^X\n";
print "Perl Version = $]\n";
print "DBI Version = $DBI::VERSION\n";
print "DBD::DB2 Version = $DBD::DB2::VERSION\n\n";

my @DB2DataSources = DBI->;data_sources("DB2");

print "Available DB2 DSNs:\n\n";

foreach my $dsn ( @DB2DataSources )
{
print " $dsn \n";
}
-------------------END----------------------

(2)鑾峰彇db2鏁版嵁搴撶殑淇℃伅
----------datasourceInfo.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script prints the information DB2 database
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

my $dsn = 'dbi:DB2:SAMPLE';
my $uid = 'henry';
my $pwd = 'happyday';

my $dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

print "Database Connection Information \n\n";
printf( "Server Instance     : %s\n", $dbh->;get_info( SQL_SERVER_NAME ) );
printf( "Database Server     : %s\n", $dbh->;get_info( SQL_DBMS_NAME ) );
printf( "Database Version    : %s\n", $dbh->;get_info( SQL_DBMS_VER ) );  
printf( "Database Alias      : %s\n", $dbh->;get_info( SQL_DATA_SOURCE_NAME ) );
printf( "Database Codepage   : %s\n", $dbh->;get_info( 2519 ) );
printf( "Application Codepage: %s\n", $dbh->;get_info( 2520 ) );
printf( "Authoriztion Id     : %s\n", $dbh->;get_info( SQL_USER_NAME ) );
printf( "Max Idntifier Len   : %s\n", $dbh->;get_info( SQL_MAX_IDENTIFIER_LEN ) );
printf( "Max Table Name Len  : %s\n", $dbh->;get_info( SQL_MAX_TABLE_NAME_LEN ) );
printf( "Max Index Size      : %s\n", $dbh->;get_info( SQL_MAX_INDEX_SIZE ) );
printf( "Max Columns in Table: %s\n", $dbh->;get_info( SQL_MAX_COLUMNS_IN_TABLE ) );
-------------------END----------------------

(3)鑾峰彇db2鏁版嵁搴撶殑鍏冩暟鎹?姣斿, 琛ㄧ粨鏋?
----------tableinfo.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script prints the information of cataloged DB2 table
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

$dsn = 'dbi:DB2:SAMPLE';
$uid = 'henry';
$pwd = 'happyday';

# Connect to the SAMPLE database
$dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

# Get the tables for schema HENRY
$sth = $dbh->;table_info( { 'TABLE_CSHEM' =>; "HENRY" } );

$table_counter = 0;
while ( @row = $sth->;fetchrow_array )
{
$catalog = $row[0];
$schema = $row[1];
$table = $row[2];

$table_counter++;
printf( "Table %d %s\n", $table_counter, $table );

# Now get the column information for this table
$sth_col = $dbh->;column_info( $catalog, $schema, $table, '%' );
if( $sth_col )
{
while( @row_col = $sth_col->;fetchrow_array )
{
# @row_col has a lot more information. I'll just take
# these three fields as an example
$column_name = $row_col[3];
$type_name   = $row_col[5];
$column_size = $row_col[6];

printf( "  %-24s%s(%s)\n", $column_name, $type_name, $column_size );
}

$sth_col->;finish();
}
}

$sth->;finish();
$dbh->;disconnect;
-------------------END----------------------

(4)鎵цSQL
----------executesql.pl--------------------------
#!/usr/lib/perl -w
#
# This perl script manipulate DB2 table
#
use DBI;
use DBD::DB2;
use DBD::DB2::Constants;

$dsn = 'dbi:DB2:SAMPLE';
$uid = 'henry';
$pwd = 'happyday';

# Connect to the SAMPLE database
$dbh = DBI->;connect( $dsn, $uid, $pwd )           || die "$DBI::errstr";

# Prepare our insert statement
$sth = $dbh->;prepare( "INSERT INTO sales VALUES('2005-06-25', 'Tom', 'Beijing', 15)");
$sth->;execute();
$sth->;finish();
$dbh->;disconnect;
-------------------END----------------------


Prayer 2010-01-25 11:17 鍙戣〃璇勮
]]>
閫氳繃Perl 緙栫▼璁塊棶DB2鏁版嵁搴?http://m.shnenglu.com/prayer/archive/2010/01/21/106114.htmlPrayerPrayerThu, 21 Jan 2010 03:34:00 GMThttp://m.shnenglu.com/prayer/archive/2010/01/21/106114.htmlhttp://m.shnenglu.com/prayer/comments/106114.htmlhttp://m.shnenglu.com/prayer/archive/2010/01/21/106114.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/106114.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/106114.html鍦ㄦ湰鏂囦腑錛屾垜浠皢瀛︿範濡備綍緙栧啓綆鍗曠殑 Perl 紼嬪簭鏉ユ彁鍙栨垨鎿嶄綔 IBM® DB2® Universal Database™錛圖B2 UDB錛変腑瀛樺偍鐨勬暟鎹傛垜浠皢浠庝竴涓畝鍗曠殑浠誨姟鍏ユ墜錛氫粠鏁版嵁搴撲腑閫夋嫨涓琛屾暟鎹斁鍏ヤ竴涓?Perl 紼嬪簭涓紱鎺ョ潃閫愭浠嬬粛涓浜涢珮綰т富棰橈紝鍖呮嫭澶勭悊澶у璞″拰璋冪敤瀛樺偍榪囩▼銆?/blockquote>

綆浠?/span>

Perl錛圥ractical Extraction and Report Language錛夋槸涓縐嶅姛鑳藉己澶ц屽張闈炲父綆鍗曟槗鐢ㄧ殑緙栫▼璇█錛屽湪寰堝鎿嶄綔緋葷粺涓婇兘鍙互浣跨敤銆侾erl 鏄厤璐圭殑銆傛垜浠彲浠ワ紙浠ユ簮浠g爜鎴栦簩榪涘埗鐨勬牸寮忥級涓嬭澆榪欎釜璇█錛屽茍鍙互鍏嶈垂鍦頒嬌鐢ㄥ畠銆?/p>

Perl 鏃ユ笎鎴愪負涓縐嶅箍鍙楁榪庣殑璇█銆傚畠鍖呭惈浜?C 緙栫▼璇█鐨勭壒鎬э紝浠ュ強 UNIX® 涓殑涓浜涘懡浠わ紝渚嬪 awk 鍜?sed銆侾erl 鏄竴縐嶈В閲婅璦錛屽彲浠ュ湪鍗曠嫭鐨勫簲鐢ㄧ▼搴忎腑浣跨敤錛屼篃鍙互涓?Apache 涓璧鋒潵鏋勫緩 Web 搴旂敤紼嬪簭銆?/p>

鎴戜滑鍙互浣跨敤 Perl 蹇熸搷浣滄潵鑷枃浠舵垨 RDBMS 鐨勫ぇ鍨嬫暟鎹泦銆侱BI 鏄湪 Perl 鑴氭湰涓繛鎺?RDBMS 鐨勬爣鍑嗭紝瀹冩槸鍦?1994 騫村紑濮嬪紩鍏ョ殑銆傚湪 http://dbi.perl.org/ 绔欑偣涓婂彲浠ユ壘鍒?DBI 椹卞姩紼嬪簭鐨勬簮浠g爜鍙婂叾鏂囨。銆?/p>

IBM 鍦?1992 騫翠負 Perl 寮鍙戜簡 DB2 鐨勯┍鍔ㄧ▼搴忥紝騫墮殢鐫 DBI 瑙勮寖鐨勫彂灞曞懆鏈熸у湴瀵瑰叾榪涜鏇存柊銆傝繖涓┍鍔ㄧ▼搴忕殑鏈鏂扮増鏈紙鍦ㄦ挵鍐欐湰鏂囨椂錛夋槸 0.78銆傚湪 http://www.ibm.com/software/data/db2/perl/ 涓婂彲浠ユ壘鍒頒富瑕佺殑 DBD::DB2錛堣繖鏄?Perl 璇█涓噰鐢ㄧ殑鍛藉悕鏈哄埗錛夐┍鍔ㄧ▼搴忎俊鎭?/p>

鏈枃灝嗗睍紺哄浣曠紪鍐欑畝鍗曠殑 Perl 紼嬪簭鏉ユ彁鍙栨垨鎿嶄綔 DB2 UDB 涓瓨鍌ㄧ殑鏁版嵁銆傛垜浠皢浠庝竴涓畝鍗曠殑浠誨姟鍏ユ墜錛氫粠鏁版嵁搴撲腑閫夋嫨涓琛屾暟鎹斁鍏ヤ竴涓?Perl 紼嬪簭涓紱鎺ョ潃閫愭浠嬬粛涓浜涢珮綰т富棰橈紝鍖呮嫭澶勭悊澶у璞″拰璋冪敤瀛樺偍榪囩▼銆?/p>

寮濮?/span>

鍥?1 灞曠ず浜?Perl 鐜濡備綍涓庢暟鎹簱鐜榪涜浜や簰錛?/p>
鍥?1. Perl 鐜
Perl 鐜

姝e鍙互浠庤繖涓浘涓湅鍑虹殑錛孭erl 紼嬪簭浣跨敤浜嗕竴涓爣鍑嗙殑 API 鏉ヤ笌 DBI錛圥erl 鐨勬暟鎹簱鎺ュ彛妯″潡錛夎繘琛岄氫俊銆侾erl DBI 妯″潡鍙兘鏀寔鍔ㄦ?SQL銆傚畠瀹氫箟浜嗕竴緇勬柟娉曘佸彉閲忓拰綰﹀畾鏉ユ彁渚涗竴涓笌瀹為檯浣跨敤鐨勬暟鎹簱鐙珛鐨勪竴鑷存暟鎹簱鎺ュ彛銆侱BI 涓?API 鎻愪緵浜嗕竴涓竴鑷寸殑鎺ュ彛錛屽畠鍙互閫傜敤浜庣▼搴忓憳鎯充嬌鐢ㄧ殑浠諱綍鏁版嵁搴撱侱BD::DB2 鏄竴涓?Perl 妯″潡錛屽綋涓?DBI 涓璧蜂嬌鐢ㄦ椂錛屽畠灝卞彲浠ヨ Perl 涓?DB2 UDB 榪涜閫氫俊銆?/p>

鍥犳錛屼負浜嗚繍琛岃闂?DB2 鏁版嵁搴撶殑 Perl 鑴氭湰錛岄渶瑕佸湪緋葷粺涓婂畨瑁呬互涓嬬粍浠訛細

  • Perl 璇█鐜
  • DBI 椹卞姩紼嬪簭錛堝彲浠ョ敤浜庝換浣?RDBMS錛?
  • DBD::DB2 椹卞姩紼嬪簭
  • DB2 Runtime Client
  • C 緙栬瘧鍣?
  • DB2 鏁版嵁搴撴湇鍔″櫒鐨勮繛鎺ヤ俊鎭?/li>

鍦?http://www.ibm.com/software/db2/perl/ 鐨?Web 绔欑偣涓婂彲浠ョ湅鍒版墍鏈夌殑瀹夎閰嶇疆鎸囧崡銆?/p>

榪炴帴鍒?DB2 鏁版嵁搴撲笂

涓轟簡璁?Perl 紼嬪簭璁塊棶 DB2 鏁版嵁搴擄紝闇瑕佸緩绔嬪埌鏁版嵁搴撶殑榪炴帴銆備負浜嗚 Perl 鍔犺澆 DBI 妯″潡錛岄渶瑕佸湪 Perl DB2 搴旂敤紼嬪簭涓寘鍚笅闈㈢殑鍐呭錛?/p>

use DBI;

褰撲嬌鐢?DBI->connect 璇彞錛堣娉曞涓嬶級鏉ュ垱寤轟竴涓?em>鏁版嵁搴撳彞鏌?/em> 鏃訛紝DBI 妯″潡浼氳嚜鍔ㄥ姞杞?DBD::DB2 椹卞姩紼嬪簭銆?/p>
娓呭崟 1. 鍒涘緩鏁版嵁搴撳彞鏌?/strong>

            use DBI;
            $dbh = DBI->connect (“dbi:DB2:dbalias", $UserId, $password);
            

鍏朵腑錛?/p>
$dbh 鈥斺?琛ㄧず connect 璇彞鎵榪斿洖鐨勬暟鎹簱鍙ユ焺
dbalias 鈥斺?琛ㄧず鍒嗙被榪?DB2 鏁版嵁搴撶洰褰曚腑鐨?DB2 鍒悕
$userID 鈥斺?琛ㄧず鐢ㄦ潵榪炴帴鏁版嵁搴撶殑鐢ㄦ埛 ID
$password 鈥斺?琛ㄧず榪欎釜鐢ㄦ埛 ID 鐨勫瘑鐮?/td>

娓呭崟 2 灞曠ず浜嗕竴涓畝鍗曠殑 Perl 紼嬪簭錛屽畠寤虹珛鍒版暟鎹簱 SAMPLE 鐨勮繛鎺ワ紝騫惰繑鍥炰粖澶╃殑鏃ユ湡銆傝繖涓▼搴忔墽琛屼竴鏉″姩鎬佺敓鎴愮殑 DB2 SQL 璇彞錛屼粠鏁版嵁搴撲腑鑾峰彇 CURRENT DATE銆傚畠浣跨敤 DBI -> bind_col 鏂規硶灝嗘暟鎹簱涓殑鍊間紶閫掑埌涓涓湰鍦板彉閲忎腑錛岀◢鍚庢垜浠氨浼氳璁鴻繖涓棶棰樸?/p>
娓呭崟 2. 榪炴帴鍒版暟鎹簱涓婂茍鎵ц璇彞

            #!/usr/local/bin/perl -w
            use DBI;
            use strict;
            # Open a connection
            my $dbh = DBI->connect("dbi:DB2:sample", “DB2ADMIN", “db2admin“, {RaiseError => 1});
            # use VALUES to retrieve value from special register
            my $stmt = "Values CURRENT DATE";
            my $sth = $dbh->prepare($stmt);
            $sth->execute();
            # associate variables with output columns...
            my $col1;
            $sth->bind_col(1,\$col1);
            while ($sth->fetch) { print "Today is: $col1\n"; }
            $sth->finish();
            $dbh->disconnect();
            

閿欒澶勭悊 鈥斺?SQLCODE 鍜?SQLSTATE

涓轟簡榪斿洖涓庢煇涓?Perl DBI 鏁版嵁搴撳彞鏌勬垨璇彞鍙ユ焺鐩稿叧鐨?SQLSTATE錛屽彲浠ヨ皟鐢?state 鏂規硶銆備緥濡傦紝瑕佽繑鍥炰笌鏁版嵁搴撳彞鏌?$dbhandle 鐩稿叧鐨?SQLSTATE 錛屽彲浠ュ湪搴旂敤紼嬪簭涓嬌鐢ㄤ笅闈㈢殑 Perl 璇彞錛?/p>

my $sqlstate = $dbhandle->state;

涓轟簡榪斿洖涓庢煇涓?Perl DBI 鏁版嵁搴撳彞鏌勬垨璇彞鍙ユ焺鐩稿叧鐨?SQLCODE錛屽彲浠ヨ皟鐢?err 鏂規硶銆備緥濡傦紝瑕佽繑鍥炰笌鏁版嵁搴撳彞鏌?$dbhandle 鐩稿叧鐨?SQLCODE錛屽彲浠ュ湪搴旂敤紼嬪簭涓嬌鐢ㄤ笅闈㈢殑 Perl 璇彞錛?/p>

my $sqlcode = $dbhandle->err;

errstr 鏂規硶榪斿洖涓庢煇涓?Perl DBI 鏁版嵁搴撳彞鏌勬垨璇彞鍙ユ焺鐩稿叧鐨?SQLCODE 鐨勬秷鎭傛垜鎺ㄨ崘浣跨敤榪欎釜鏂規硶錛屽洜涓鴻繖涓柟娉曞彲浠ョ粰鍑烘湁鍏?SQL 璇彞澶辮觸鐨勬洿澶氫俊鎭?/p>

娓呭崟 3 涓殑渚嬪瓙灞曠ず浜嗚繖涓柟娉曠殑鐢ㄦ硶錛?/p>
娓呭崟 3. 榪斿洖閿欒娑堟伅鐨?errstr 鏂規硶

            $dbh = DBI->connect("dbi:DB2:sample",“USERID",“password") or
            die “Can't connect to sample database: $DBI::errstr";
            $sth = $dbh->prepare(“SQL statement“) or   die "Cannot prepare: " $dbh->errstr;
            $sth->>execute() or   die "Cannot execute: " $sth->errstr;
            

鐜板湪璁╂垜浠繘涓姝ョ湅涓涓嬬涓涓疄楠屻傚畠灞曠ず浜嗕竴涓?Perl 紼嬪簭錛岃繖涓▼搴忎嬌鐢ㄤ綔涓哄弬鏁頒紶鍏ョ殑鐢ㄦ埛 ID 鍜屽瘑鐮佹潵榪炴帴鏁版嵁搴?SAMPLE銆傚綋浼犻掍簡鏈夋晥鐨?ID 鍜屽瘑鐮佹椂錛屽畠浼氳繑鍥炰竴鏉℃秷鎭鏄庤繛鎺ユ垚鍔熶簡銆備笅闈㈡槸 lab1.pl 鐨勪唬鐮侊細


娓呭崟 4. lab1.pl

            #!/usr/local/bin/perl –w
            use DBI;
            $db2user = $ARGV[0];
            $pasw = $ARGV[1];
            # Open a connection
            $dbh = DBI->connect("dbi:DB2:sample", $db2user, $pasw)  or
            “Can't connect to sample database: $DBI::errstr";
            print "Connection is successful !!\n";
            

鍥?2 緇欏嚭浜嗕嬌鐢ㄦ湁鏁堣韓浠介獙璇佸拰鏃犳晥韜喚楠岃瘉鏉ユ墽琛岃繖涓▼搴忕殑緇撴灉錛?/p>
鍥?2. 鎵ц lab1.pl
鎵ц lab1.pl

 

鎵ц SQL 璇彞

涓嬮潰璁╂垜浠潵緙栧啓涓涓▼搴忥紝鍦ㄦ暟鎹簱 SAMPLE 涓垱寤轟竴涓〃 PT_ADDR_BOOK銆傝鎵ц鍦ㄧ紪鍐欏簲鐢ㄧ▼搴忔椂灝卞凡緇忕煡閬撶殑 SQL 璇彞錛屽彲浠ヤ嬌鐢?$dbh->do 鏂規硶銆傝繖涓柟娉曠殑璇硶濡備笅鎵紺猴細

my $cnt = $dbh->do(SQL statement);

鍏朵腑 $cnt 鏄繖鏉?SQL 璇彞鎵褰卞搷鐨勮鏁般?/p>

浣跨敤榪欎釜鏂規硶錛屾垜浠殑紼嬪簭鍒涘緩浜嗕竴涓?DB2 琛紝濡傛竻鍗?5 鎵紺猴細


娓呭崟 5. 鐢ㄦ潵鍒涘緩 DB2 琛ㄧ殑紼嬪簭

            #!/usr/local/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die “Can't connect to sample database: $DBI::errstr";
            $rcount = $dbh->do (“CREATE TABLE PT_addr_book(name char(30),
            phone char(10))");
            print “Returns: $rcount\n";
            

鍙互浣跨敤鐩稿悓鐨?do 鏂規硶鍚?PT_addr_book 琛ㄤ腑鎻掑叆鍑犺鏁版嵁銆傝娉ㄦ剰錛屾墍鎻掑叆琛岀殑鍊煎湪緙栧啓榪欎釜紼嬪簭鏃墮兘鏄凡鐭ョ殑錛屽洜姝ゅ彲浠ョ‖緙栫爜鍦ㄤ唬鐮佷腑銆?/p>
娓呭崟 6. 浣跨敤 do 鏂規硶鎻掑叆鍑犺鏁版嵁

            #!/usr/local/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die "Can't connect to sample database: $DBI::errstr";
            $rcount = $dbh-> do ("Insert into PT_ADDR_BOOK values
            ('Gregory Whales','9142712020'),
            ('Robert Moses', 2127652345')");
            print "Returns: $rcount \n";
            

姝e浠庤繖涓緥瀛愪腑鍙互鐪嬪埌鐨勶紝榪欐潯 SQL 璇彞浼氬獎鍝嶄袱琛屾暟鎹傞氳繃鍦?DB2 CLP 涓榪欎釜琛ㄨ繍琛?SELECT 璇彞錛屽彲浠ョ‘瀹氭湁涓よ鏁版嵁宸茬粡鎻掑叆浜嗚繖涓〃涓?/p>
娓呭崟 7. test_do_exs.pl

            $perl test_do_exs.pl
            Returns : 2
            $db2 “select * from PT_ADDR_BOOK"
            NAME                               PHONE
            ------------------------------ ----------
            Gregory Whales                 9142712020
            Robert Moses                   2127652345
            2 record(s) selected.
            

涓嬮潰璁╂垜浠粠 涓嬭澆 涓鑺備腑瀹為獙 2 鐨勭粌涔犲紑濮嬶紝緙栧啓騫舵墽琛屼竴涓畝鍗曠殑 Perl 紼嬪簭鏉ユ洿鏂?PR_ADDR_BOOK 琛ㄣ?/p>

INSERT銆乁PDATE 鍜?DELETE 璇彞 鈥斺?娌℃湁鍗犱綅絎?/span>

鎵ц涓鏉″湪緙栧啓搴旂敤紼嬪簭鏃惰繕鏈‘瀹氱殑 SQL 璇彞錛堝姩鎬?SQL錛夐渶瑕佷嬌鐢ㄤ竴縐嶄笉鍚岀殑鎶鏈紝鍙互浣跨敤 $dbh->prepare 鏂規硶鏉ュ疄鐜般傚姩鎬?SQL 鍙互閫氳繃鍦ㄧ▼搴忔墽琛岃繃紼嬩腑鑷繁淇敼鍒椼佽〃鍜岃皳璇嶏紙鎿嶄綔錛夌殑鑳藉姏鏉ュ疄鐜般傚姩鎬?SQL 闇瑕佺敱 UDB 浼樺寲鍣ㄦ潵鍑嗗 鎵ц錛岀洰鐨勬槸涓鴻繖鏉¤鍙ュ垱寤轟竴涓闂鍒掋傚鏋滃姩鎬?SQL 娌℃湁鍙傛暟鏍囪錛堝崰浣嶇錛夛紝瀹冨氨鍙互鍦ㄨ繖涓楠や箣鍚庣珛鍗蟲墽琛屻傛竻鍗?8 緇欏嚭浜?$dbh->prepare 鍜?$sth->execute 鏂規硶鐨勮娉曪紝鍙互鍦?Perl 紼嬪簭涓敤鏉ユ墽琛屾病鏈夊崰浣嶇鐨勫祵鍏ュ紡 SQL 璇彞錛?


娓呭崟 8. 鍔ㄦ?SQL 鐨勫噯澶囧拰鎵ц

            $stmt = “SQL Statement without placeholder“;
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            

璇鋒敞鎰忥紝$dbh->prepare 鏂規硶鐨勭粨鏋滄槸 SQL 璇彞鍙ユ焺銆?/p>

娓呭崟 9 涓粰鍑虹殑 Perl 紼嬪簭灞曠ず浜嗗浣曚嬌鐢ㄨ繖浜涙柟娉曞皢涓琛屾暟鎹彃鍏ュ埌 PT_ADDR_BOOK 琛ㄤ腑錛?/p>
娓呭崟 9. 鎻掑叆涓琛屾暟鎹?/strong>

            #!/usr/local/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die “Can't connect to sample database: $DBI::errstr";
            $stmt = "INSERT INTO PT_addr_book values ('JOHN SMITH','9145556677')“;
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            print "We inserted row into addr_book\n";
            $sth->finish();
            

鍏鋒湁鍙傛暟鏍囪鐨?SQL 璇彞

鐜板湪璁╂垜浠潵鐪嬩竴涓嬪浣曟墽琛屽湪緙栧啓搴旂敤紼嬪簭鏃惰繕涓嶇‘瀹氬茍涓斿叿鏈夊弬鏁版爣璁幫紙鍗沖崰浣嶇錛夌殑 SQL 璇彞 鈥斺?鍗崇湡姝g殑鍔ㄦ?SQL 璇彞銆傝娉ㄦ剰錛屾垜浠帹鑽愪嬌鐢ㄨ繖縐?SQL 璇彞錛屽洜涓哄畠浠叿鏈夋ц兘鍜屽畨鍏ㄦф柟闈㈢殑浼樼偣銆備粠鎬ц兘鐨勮搴︽潵鐪嬶紝鍔ㄦ?SQL 璇彞鍙渶瑕佸噯澶囦竴嬈″氨鍙互鎵ц澶氭錛屽彲浠ラ噸鐢ㄧ浉鍚岀殑鏁版嵁搴撹闂鍒掋備粠瀹夊叏鎬х殑瑙掑害鏉ョ湅錛屽崰浣嶇鍙互紜繚鍙湁涓涓煎彲浠ユ彃鍏ュ埌榪欐潯璇彞涓紝浠庤屽彲浠ラ伩鍏嶅嚭鐜?SQL 璇彞閿欒銆?/p>

涓轟簡璁?Perl 紼嬪簭灝嗗姩鎬?SQL 璇彞杞崲鎴愬彲鎵ц鐨勬牸寮忥紝闇瑕侀鍏堜嬌鐢?prepare 鏂規硶錛岀劧鍚庝嬌鐢?bind_param 鏂規硶鏉ョ粦瀹氬弬鏁般傚彧鏈夎繖鏍鋒墠鍙互鎵ц榪欐潯璇彞銆傝緇戝畾姣忎釜鍙傛暟錛岄渶瑕佹寚瀹氬弬鏁版爣璁扮殑涓暟錛屼互鍙婂寘鍚繖浜涘弬鏁版爣璁板肩殑鏈湴 Perl 鍙橀噺鐨勫悕瀛椼傛竻鍗?10 緇欏嚭浜嗚 Perl 紼嬪簭鎵ц鍔ㄦ?SQL 璇彞鎵浣跨敤鐨勬柟娉曠殑璇硶錛?/p>
娓呭崟 10. 鍔ㄦ?SQL 鐨勬柟娉?/strong>

            $stmt = “SQL Statement with parameter marker“;
            $sth = $dbh->prepare($stmt);
            $sth->bind_param(1,$parm,\% attr);
            $sth->execute();
            

娓呭崟 11 灞曠ず浜嗗琛?PT_ADDR_BOOK 鎵ц INSERT 鎿嶄綔鐨勬柟娉曘傜幇鍦紝鎵鎻掑叆鍒楃殑鍊間笉鍐嶆槸鍦?SQL 璇彞涓‖緙栫爜鐨勪簡錛岃屾槸浣跨敤鍙傛暟鏍囪鍔ㄦ佷紶閫掔粰榪欐潯璇彞鐨勶紱榪欎簺鍙傛暟鏍囪宸茬粡浣跨敤 $sth->bind_param 鏂規硶涓庤繖鏉¤鍙ヨ繘琛屼簡緇戝畾銆傚彧鏈夊畬鎴愯繖浜涜緗箣鍚庯紝鎵嶅紑濮嬫墽琛岃繖鏉¤鍙ャ?/p>
娓呭崟 11. 瀵硅〃 PT_ADDR_BOOK 鎵ц INSERT 鎿嶄綔

            #!/usr/local/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die “Can't connect to sample database :DBI::errstr";
            $name ="STEVE BROWN";
            $phone = "7184358769";
            $stmt = "INSERT INTO PT_addr_book values (?,?)";
            $sth = $dbh->prepare($stmt);
            $sth->bind_param(1,$name);
            $sth->bind_param(2,$phone);
            $sth->execute();
            print "We inserted row into addr_book\n";
            $sth->finish();
            

浠庢暟鎹簱涓绱㈡暟鎹?鈥斺?鍗曚釜緇撴灉

涓轟簡灝嗘暟鎹簱涓殑鍊兼斁鍒?Perl 紼嬪簭涓嬌鐢紝闇瑕佹寜鐓т笅闈㈢殑姝ラ鎵ц錛?/p>

  1. 鍑嗗 SELECT 璇彞銆?
  2. 鎵ц鎵鍑嗗鐨勮鍙ャ?
  3. 浣跨敤 $sth->bind_col 鏂規硶鎶婃煇鍒楃殑鍊鹼紙鎴栧嚱鏁幫級鍏寵仈鍒頒竴涓湰鍦?Perl 鍙橀噺涓娿?
  4. 浣跨敤 $sth->fetch 鏂規硶灝嗕竴涓煎彇鍒版湰鍦板彉閲忎腑銆?/li>

涓嬮潰鐨勪吉鐮佸睍紺轟簡濡備綍浠庢暟鎹簱涓绱㈠崟涓鹼細


娓呭崟 12. 浠庢暟鎹簱涓绱㈠崟涓?/strong>

            $stmt = “SQL SELECT Statement to be executed“;
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            $result = $sth->bind_col(col, \variable [, \%attr ]);
            while ($sth->fetch){
            process result of the fetch;
            }
            

涓嬮潰榪欎釜渚嬪瓙灞曠ず浜嗗浣曚負涓涓仛鍚堝嚱鏁?max 浠?EMPLOYEE 琛ㄤ腑媯绱?salary 鐨勫鹼細


娓呭崟 13. 涓鴻仛鍚堝嚱鏁版绱㈠?/strong>

            #!/usr/local/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die “Can't connect to sample database: $DBI::errstr";
            $stmt = "SELECT max(salary) from EMPLOYEE";
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            #associate variable with output columns...
            $sth->bind_col(1,\$max_sal);
            while ($sth->fetch) {
            print "The biggest salary is: $max_sal\n";
            }
            

涓嬮潰鏄墽琛岃繖涓?Perl 紼嬪簭鍚庣殑緇撴灉錛?/p>
娓呭崟 14. 鑱氬悎緇撴灉鍊?/strong>

            $perl test_return_value.pl
            The biggest salary is: 52750.00
            

浠庢暟鎹簱涓绱㈡暟鎹?鈥斺?澶氫釜緇撴灉

浠庢暟鎹簱涓繑鍥炰竴涓粨鏋滈泦錛堝嵆澶氫釜緇撴灉錛夊埌 Perl 紼嬪簭涓殑鎶鏈笌鍓嶉潰鎵閲囩敤鐨勬妧鏈潪甯哥被浼箋傚湪鍑嗗騫舵墽琛岃繑鍥炲涓粨鏋滅殑 SQL 璇彞騫跺皢榪斿洖鍊鹼紙鍒楋級緇戝畾鍒版湰鍦板彉閲忎笂涔嬪悗錛屽彲鑳介渶瑕佷嬌鐢?$sth->fetch 鏂規硶鏉ユ绱㈣繖浜涘箋備負浜嗗睍紺鴻繖涓柟娉曟槸濡備綍宸ヤ綔鐨勶紝涓嬮潰璁╂垜浠粠 PT_ADDR_BOOK 琛ㄤ腑媯绱㈠嚭 phone 鍜?name 鍒楃殑鍐呭銆傛竻鍗?15 緇欏嚭浜嗕嬌鐢ㄤ竴涓驚鐜潵浣跨敤 $sth_fetch 鏂規硶鐨勭敤娉曪細


娓呭崟 15. 浠庢暟鎹簱涓绱㈠涓?/strong>

            $stmt = "SELECT name, phone from PT_ADDR_BOOK";
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            #associate variables with output columns...
            $sth->bind_col(1,\$name);
            $sth->bind_col(2,\$phone);
            print "NAME                          PHONE      \n";
            print "-------------------------     -----------\n";
            while ($sth->fetch) {
            print $name ;
            print $phone; print "\n";              }
            print "DONE \n";
            $sth->finish();
            

鎵ц榪欐浠g爜鐨勭粨鏋滃涓嬶細


娓呭崟 16. 浠庢暟鎹簱涓绱㈠涓?/strong>

            C:\Dev_POT\PERL\Labs>perl multi.pl
            NAME                          PHONE
            -------------------------     -----------
            JOHN SMITH               9145556677
            STEVE BROWN          7184358769
            DONE
            

涔熷彲浠ヤ嬌鐢?$sth->fetchrow 鏂規硶浠庣粨鏋滈泦涓绱㈡暟鎹?code>$sth ->fetch 鏂規硶浼氬皢姣忎釜鍊間綔涓哄崟鐙竴欏硅繑鍥烇紝鑰?$sth ->fetchrow() 鏂規硶鍒欏皢涓琛屼綔涓轟竴涓暟緇勮繑鍥烇紝姣忓垪鐨勫奸兘鏄鏁扮粍涓殑涓涓厓绱犮?

鍙互浣跨敤 fetchrow 鏂規硶緙栧啓鍔熻兘鐩稿悓鐨?Perl 紼嬪簭錛屽涓嬫墍紺猴細


娓呭崟 17. 浠庢暟鎹簱涓绱㈠涓?/strong>

            $stmt = "SELECT name, phone from PT_ADDR_BOOK";
            $sth = $dbh->prepare($stmt);
            $sth->execute();
            print "NAME                          PHONE      \n";
            print "-------------------------     -----------\n";
            while (($name, $phone) = $sth->fetchrow())
            { print "$name  $phone\n"; }
            

鎴戜滑鍙互浠?瀹為獙 3 寮濮嬬紪鍐欏茍鎵ц涓涓?Perl 紼嬪簭錛屽畠鍙互鍒涘緩涓涓?DB2 琛紝鍚戣琛ㄤ腑鎻掑叆涓浜涙暟鎹紝騫惰繑鍥炴彃鍏ヨ琛ㄤ腑鐨勮鏁般?/p>

璋冪敤瀛樺偍榪囩▼

涓嬮潰璁╂垜浠潵鍒涘緩涓涓涓楠ょ殑鍦烘櫙錛屼粠鑰岃緇嗕簡瑙d竴涓嬪浣曚粠 Perl 紼嬪簭涓皟鐢?DB2 鐨勫瓨鍌ㄨ繃紼嬨傞鍏堬紝鍒涘緩涓涓畝鍗曠殑瀛樺偍榪囩▼ SP_GET_LOC錛屽畠浠庤〃 ORG 涓繑鍥炴煇涓粰瀹氶儴闂ㄧ殑浣嶇疆錛堟楠?1錛夈?/p>
娓呭崟 18. 姝ラ 1錛氬垱寤哄瓨鍌ㄨ繃紼?/strong>

            create procedure sp_get_loc (in deptin int, out loc varchar(13))
            begin
            select location into loc from org where deptnumb = deptin;
            end  @
            

璇鋒敞鎰忥紝榪欎釜瀛樺偍榪囩▼鏈変竴涓緭鍏ュ弬鏁板拰涓涓緭鍑哄弬鏁般傚綋鎴戜滑鍦?DB2 鐨勫懡浠よ澶勭悊鍣紙CLP錛変腑榪愯榪欎釜榪囩▼鏃訛紝瀹冨閮ㄩ棬 10 浼氳繑鍥炰綅緗?NEW YORK銆?


娓呭崟 19. 姝ラ 2錛氳繍琛屽瓨鍌ㄨ繃紼?/strong>

            $db2 "call sp_get_loc(10,?)"
            Value of output parameters
            --------------------------
            Parameter Name  : LOC
            Parameter Value : New York
            Return Status = 0
            

涓嬮潰璁╂垜浠潵緙栧啓涓涓畝鍗曠殑 Perl 紼嬪簭鏉ヨ皟鐢ㄥ瓨鍌ㄨ繃紼?SP_GET_LOC錛堟楠?3錛岃鍙傜湅 娓呭崟 20錛夈傛垜浠殑鍔ㄦ?SQL 璇彞瀹為檯涓婁笌鍦?DB2 CLP 涓墽琛岀殑璇彞鐩稿悓錛屽艦寮忎負 SP_GET_LOC(?,?)錛屼笉榪囧湪 CLP 涓槸浼犻掔‖緙栫爜鐨?10錛堥儴闂ㄧ紪鍙鳳級錛屽湪鍔ㄦ?SQL 璇彞涓皢浣跨敤涓涓弬鏁版爣璁般傞噰鐢ㄨ繖縐嶆柟娉曪紝灝卞彲浠ュ ORG 琛ㄧ殑閮ㄩ棬緙栧彿鍒楃殑浠諱綍鍊兼煡璇綅緗簡銆?/p>

鍦ㄦ瀯閫?SQL 璇彞涔嬪悗錛屽墿涓嬬殑姝ラ灝變笌鍏朵粬鍏鋒湁鍙傛暟鏍囪鐨勫姩鎬佽鍙ュ畬鍏ㄧ浉鍚屼簡銆傚彲浠ヤ嬌鐢?$sth = $dbh->prepare 鏂規硶榪涜鍑嗗銆備嬌鐢?$sth->bind_param 鏂規硶灝嗛儴闂ㄧ紪鍙風粦瀹氫負杈撳叆鍙傛暟錛屼嬌鐢?$sth->bind_param_inout 鏂規硶灝嗚繑鍥炵殑浣嶇疆緇戝畾涓鴻緭鍑哄弬鏁幫紝鐒跺悗鍐嶆墽琛屽姩鎬?SQL 璇彞銆?/p>

璇ョ▼搴忓涓嬶細


娓呭崟 20. 姝ラ 3錛氳皟鐢ㄥ瓨鍌ㄨ繃紼?/strong>

            #!/usr/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            $dbh = DBI->connect("dbi:DB2:sample","","") or
            die "Can't connect to sample database: $DBI::errstr";
            # Prepare our call statement
            $sth = $dbh->prepare( "CALL SP_GET_LOC(?,?)" );
            # Bind input parameter for department number
            $sth->bind_param(1, 10);
            # Bind output parameter - location
            $sth->bind_param_inout (2, \$location, 13,     db2_param_type=>SQL_PARAM_OUTPUT});
            # Call the stored procedure
            $sth->execute();
            printf("Stored procedure returned location: %s\n", $location);
            $sth->finish();
            $dbh->disconnect;
            

濡傛灉鎵ц榪欎釜紼嬪簭錛屽氨浼氱湅鍒扮粰瀹氶儴闂紙鏈緥涓負 10錛夌殑 LOCATION錛?


娓呭崟 21. 姝ラ 4錛氭墽琛岃皟鐢?DB2 瀛樺偍榪囩▼鐨?Perl 紼嬪簭

            $perl test_call_sp.pl
            Stored Procedure returned location: New York
            

澶у璞$殑鎿嶄綔

浣跨敤 Perl 鏉ュ鐞嗘枃浠舵瘮浣跨敤鍏朵粬鏇村鏉傜殑璇█錛堜緥濡?C 鎴?Java®錛夐兘瑕佺畝鍗曘備笅闈㈡垜浠氨浼氱湅鍒板浣曞皢鏁版嵁鐩存帴浠庢枃浠朵腑瀵煎叆 DB2 鐨勫ぇ瀵硅薄鏁版嵁錛圠OB錛夊垪涓傛彃鍏ュぇ瀵硅薄鏁版嵁鐨勬渶鏈夋晥鐨勬柟娉曟槸錛屽皢榪欎釜鏂囦歡鐩存帴緇戝畾鍒?DB2 琛ㄤ腑涓涓笌 LOB 綾誨瀷鐨勫垪鐩稿叧鑱旂殑杈撳叆鍙傛暟涓娿侾erl 椹卞姩紼嬪簭鍙互鐩存帴浠庢枃浠朵腑璇誨彇鏁版嵁錛屽茍灝嗘暟鎹紶閫掔粰鏁版嵁搴撴湇鍔″櫒銆傝灝嗕竴涓枃浠剁粦瀹氬埌鏌愪釜杈撳叆 LOB 鍙傛暟涓婏紝鍙互鍦ㄦ墽琛?INSERT 鎿嶄綔榪囩▼涓嬌鐢?bind_param 鏂規硶鏉ユ寚瀹?{ db2_file => 1} 鍙傛暟灞炴с?/p>

鍦ㄦ垜浠殑鏁版嵁搴撴ā寮?POT 涓嬮潰鏈変竴涓〃 MAP銆傝繖涓〃鏈変竴涓?picture 鍒楋紝瀹冭澹版槑鎴?BLOB 綾誨瀷鐨勶紝鐢ㄦ潵瀛樻斁鏌愪釜鍦板尯鐨勫浘鍍忋備笅闈㈡槸鍒涘緩璇ヨ〃鎵浣跨敤鐨?DDL錛?/p>
娓呭崟 22. 鍒涘緩 MAP 琛ㄤ嬌鐢ㄧ殑 DDL

            create table POT.MAPS
            ( map_id           INT,
            map_name     VARCHAR(13),
            area                 INT ,
            photo_format CHAR(3),
            picture            BLOB) ;
            

鍙﹀錛屾垜浠繕鏈変竴涓枃浠?pearcson.jpg錛屽叾涓寘鍚簡 Pearson Airport 鐨勫湴鍥俱?


鍥?3. 紺轟緥鍦板浘
紺轟緥鍦板浘

鐜板湪璁╂垜浠潵緙栧啓涓涓▼搴忥紝鍚戣〃 POT.MAP 涓彃鍏ヤ竴琛屾暟鎹紝鍗沖皢 JPG 鏂囦歡鐨勫浘鍍忔彃鍏ュ埌 PICTURE 涓傞鍏堬紝闇瑕佹瀯閫犱竴涓叿鏈?5 涓弬鏁版爣璁扮殑鍔ㄦ?SQL 璇彞銆傜劧鍚庯紝闇瑕佸榪欐潯璇彞榪涜鍑嗗銆傚湪灝嗗弬鏁扮粦瀹氬埌鍑嗗濂界殑璇彞涓婁箣鍓嶏紝闇瑕佹寚瀹氬寘鍚鎻掑叆鐨勫浘鍍忕殑鏂囦歡鍚嶏紝騫跺皢鍏惰祴緇欎竴涓湰鍦?Perl 鍙橀噺錛?code>$picture_file錛夈傜幇鍦ㄥ彲浠ュ皢鎵鏈夊弬鏁板叏閮ㄧ粦瀹氬埌闇瑕佹彃鍏ュ埌 MAP 琛ㄤ腑鐨勫間笂銆傝娉ㄦ剰錛屾垜浠負鏈鍚庝竴涓弬鏁版寚瀹氫簡 db2_file =>1 灞炴с傛渶鍚庝竴涓楠ゆ槸鎵ц榪欐潯 INSERT 璇彞銆傝繖涓▼搴忕殑浠g爜濡備笅錛?/p>
娓呭崟 23. 鎻掑叆 LOB

            #!/usr/bin/perl -w
            use DBI;
            use DBD::DB2::Constants;
            %conattr = (   AutoCommit             => 1,
            # Turn Autocommit On
            db2_info_applname  => 'Maps Module', );
            # Identify this appl
            $dbh = DBI->connect("dbi:DB2:sample","", "",\%conattr) or die "$DBI::errstr";
            $dbh->do("SET CURRENT SCHEMA POT");
            $sql = "INSERT INTO MAPS(map_id, map_name, area, photo_format, picture)
            VALUES(?,?,?,?,?)";
            $sth = $dbh->prepare($sql);
            $picture_file = "pearson.jpg";           # File containing our picture
            $sth->bind_param(1, 100);                # map_id
            $sth->bind_param(2, "Pearson airport");  # map_name
            $sth->bind_param(3, 416);                # area
            $sth->bind_param(4, "JPG");              # photo_format
            $sth->bind_param(5, $picture_file, {db2_file => 1});
            $rows_affected = $sth->execute();
            printf("%d rows affected", $rows_affected);
            $sth->finish();
            $dbh->disconnect;
            

浠庢暟鎹簱涓鍙?LOB 鏁版嵁

鍙互浣跨敤鏍囧噯鐨?fetch 鏂規硶鏉ユ绱?LOB 鏁版嵁錛屼緥濡?fetchrow_array 鎴?fetchrow_arrayref銆侱BI 璁╂垜浠彲浠ヤ嬌鐢?LongReadLen 榪炴帴灞炴ф潵璁劇疆姣忔 fetch 鍙互媯绱㈢殑鏈澶у瓧鑺傛暟銆傚浜?LOB 鍒楁潵璇達紝緙虹渷鍊間負 32,700 涓瓧鑺傘傝瀹炵幇榪欑鍔熻兘錛岄渶瑕佹墽琛屼互涓嬫楠わ細

  1. 鏋勯?SQL 璇彞浠?MAP 琛ㄤ腑閫夋嫨 picture 鍒楃殑鏁版嵁銆?
  2. 鍑嗗 SQL 璇彞銆?
  3. 涓轟繚瀛樻墍媯绱㈠埌鐨勫浘鍍忎嬌鐢ㄧ殑鏂囦歡鍒嗛厤涓涓悕瀛椼?
  4. 鎵撳紑璇ユ枃浠躲?
  5. 鎵ц榪欐潯 SQL 璇彞銆?
  6. 浣跨敤 fetch 鏂規硶灝嗙粨鏋滃彇鍒版枃浠朵腑銆?/li>

涓嬮潰鏄睍紺哄浣曚粠鏁版嵁搴撲腑媯绱?LOB 鏁版嵁鐨勪唬鐮侊細


娓呭崟 24. 浠庢暟鎹簱涓鍙?LOB 鏁版嵁

            #!/usr/bin/perl
            use DBI;
            use DBD::DB2::Constants;
            %conattr =
            (
            AutoCommit             => 1,
            # Turn Autocommit On
            db2_info_applname  => 'Maps Module',
            # Identify this appl
            LongReadLen           => 80000
            # Don't retrieve LOBs
            );
            # Connect to our database
            $dbh = DBI->connect("dbi:DB2:sample","", "",\%conattr) or
            die "$DBI::errstr";
            # Set the current schema to 'POT'
            $dbh->do("SET CURRENT SCHEMA POT");
            $sql = "SELECT picture FROM maps WHERE map_name ='Pearson airport'";
            # Prepare the statement
            $sth = $dbh->prepare($sql);
            # Open output file
            $out_file = "mypic.jpg";
            open(OUTPUT, ">$out_file") or die "Cannot open $out_file because $!";
            binmode OUTPUT;
            $sth->execute;
            @row = $sth->fetchrow;
            print OUTPUT $row[0];
            @row = "";
            close(OUTPUT);
            print “Picture in the file $out_file\n";
            $sth->finish();
            $dbh->disconnect;
            

鍦ㄨ繍琛岃繖涓▼搴忎箣鍚庯紝鍥懼儚灝變繚瀛樺埌 mypic.jpg 鏂囦歡涓簡銆?/p>
娓呭崟 25. 浠庢暟鎹簱涓鍙?LOB 鏁版嵁

            $perl test_lobread.pl
            Picture in the file mypic.jpg
            

璇蜂嬌鐢?瀹為獙 4 涓殑緇冧範鏉ョ紪鍐欏茍鎵ц涓涓?Perl 紼嬪簭錛屽畠浠庝竴涓〃涓绱㈠嚭浜岃繘鍒跺ぇ瀵硅薄錛屽茍灝嗗叾淇濆瓨鍒頒竴涓枃浠朵腑銆?/p>

緇撴潫璇?/span>

鏈枃鏄負閭d簺鍏鋒湁鍏崇郴鏁版嵁搴撶粡楠屽茍涓斿笇鏈涘涔犲浣曠紪鍐?Perl 紼嬪簭鏉ヨ闂?DB2 鏁版嵁搴撶殑 Perl 紼嬪簭鍛樼紪鍐欑殑銆傚湪鏈枃涓紝鎴戜滑宸茬粡瀛︿範浜嗗浣曡繛鎺ユ暟鎹簱錛屽浣曢氳繃 INSERT銆乁PDATE 鍜?DELETE 璇彞鏉ユ搷浣滄暟鎹簱鐨勫唴瀹廣傝繕瀛︿範浜嗗浣曚粠鏁版嵁搴撲腑媯绱㈡暟鎹紝騫朵粙緇嶄簡涓浜涢珮綰т富棰橈紝鍖呮嫭璋冪敤瀛樺偍榪囩▼鍜屾搷浣滃ぇ鏁版嵁瀵硅薄錛圠OB 鍜?BLOB錛夈傜幇鍦ㄦ垜浠簲璇ュ凡緇忓噯澶囧ソ浣跨敤鑷繁鍒氭帉鎻$殑 Perl DB2 緙栫▼鎶宸ф潵寮鍙戣嚜宸辯殑紼嬪簭浜嗐?

鍘熸枃閾炬帴錛?a target=_blank>http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0512greenstein/index.html



Prayer 2010-01-21 11:34 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品久久久久久久午夜片| 国产精品美女久久久久久久| 你懂的视频欧美| 欧美日韩国产123区| 国产性色一区二区| 夜夜嗨av一区二区三区四季av| 久久久久久穴| 亚洲一区二区精品视频| 欧美猛交免费看| 欧美黄色小视频| 久久精品中文字幕一区| 国产精品美女999| 欧美一区二区精品在线| 最新国产乱人伦偷精品免费网站| 欧美国产精品劲爆| 日韩亚洲视频在线| 亚洲国产一区二区三区在线播| 欧美性色综合| 久久久青草婷婷精品综合日韩| 欧美在线免费视频| 亚洲一区二区三区视频播放| 99综合在线| 国产一区视频网站| 看欧美日韩国产| 久久青青草综合| 日韩亚洲欧美中文三级| 亚洲综合好骚| 在线日本成人| 亚洲精选久久| 亚洲福利视频网站| 亚洲精品在线免费观看视频| 国产精品视频| 亚洲国产综合91精品麻豆| 国产日韩欧美在线看| 亚洲午夜羞羞片| 在线观看视频欧美| 午夜在线一区| 美女精品在线| 国产精品大全| 欧美激情中文字幕一区二区| 欧美日韩一区二区在线播放| 欧美成人黑人xx视频免费观看| 欧美日韩在线播放一区| 亚洲一区不卡| 99re6热只有精品免费观看 | 亚洲综合三区| 欧美激情亚洲国产| 亚洲永久精品大片| 一区二区欧美亚洲| 欧美激情精品久久久久久黑人| 亚洲精品免费网站| 亚洲卡通欧美制服中文| 亚洲影视综合| 亚洲欧洲99久久| 国产精品久久久久久久午夜| 欧美乱大交xxxxx| 日韩视频免费大全中文字幕| 欧美国产综合一区二区| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区动漫| 久久久精品国产免费观看同学| 国产日韩欧美电影在线观看| 欧美在线播放视频| 欧美电影在线观看| 亚洲五月婷婷| 狠狠色狠狠色综合人人| 欧美精品久久一区| 亚洲伊人伊色伊影伊综合网 | 一区二区免费在线播放| 一区二区三区在线免费视频| 欧美激情亚洲另类| 欧美日韩四区| 牛人盗摄一区二区三区视频| 久久久噜噜噜久噜久久| 日韩视频在线观看一区二区| 欧美va亚洲va香蕉在线| 国产一本一道久久香蕉| 欧美一区二区高清| 男同欧美伦乱| 99综合在线| 欧美激情国产日韩精品一区18| 国内揄拍国内精品少妇国语| 免费观看亚洲视频大全| 久久国产66| 久久天堂av综合合色| 欧美一区2区视频在线观看| 免费欧美视频| 欧美专区在线观看| 久久国产精品72免费观看| 亚洲视频在线看| 欧美在线观看一区| 噜噜噜91成人网| 亚洲毛片播放| 亚洲高清av| 欧美一区二区视频97| 亚洲欧美成人精品| 亚洲伊人久久综合| 久久福利资源站| 欧美激情第8页| 亚洲精品中文字幕女同| 午夜日韩激情| 亚洲在线免费视频| 日韩视频免费在线| 99av国产精品欲麻豆| 亚洲一区二区三区在线播放| 先锋影音久久| 亚洲国产精品久久久久婷婷老年 | 久久国产精品黑丝| 久久99在线观看| 国产精品成人免费视频 | 在线观看中文字幕不卡| 欧美午夜在线一二页| 国产精品一区二区你懂得| 欧美激情视频免费观看| 亚洲国产精品999| 一区二区三区成人精品| 欧美日韩精品免费观看视频完整| 一区二区在线不卡| 亚洲高清不卡在线观看| 亚洲人成人一区二区三区| 制服丝袜亚洲播放| 久久久久国产精品一区三寸| 亚洲激情精品| 嫩模写真一区二区三区三州| 国产一区二区无遮挡| 久久精品视频99| 亚洲激情国产| 欧美不卡三区| 韩日在线一区| 欧美一区二区三区久久精品| 99热这里只有成人精品国产| 欧美日韩美女在线观看| 日韩午夜在线观看视频| 小黄鸭视频精品导航| 欧美电影打屁股sp| 午夜在线精品偷拍| 国产性色一区二区| 裸体歌舞表演一区二区| 男人天堂欧美日韩| 在线一区日本视频| 亚洲人成免费| 欧美精品一区二区三区很污很色的| 999在线观看精品免费不卡网站| 欧美成年人视频网站欧美| 欧美激情综合五月色丁香| 亚洲免费在线看| 亚洲视频www| 国产精品羞羞答答| 免费精品视频| 欧美午夜一区二区福利视频| 免费亚洲一区二区| 国产精品久久久久久久9999| 欧美欧美天天天天操| 亚洲精品少妇网址| 最新日韩在线视频| 国产精品久久一卡二卡| 久久久噜噜噜久久人人看| 欧美激情aⅴ一区二区三区| 久久一区二区三区四区| 久久国产日韩欧美| 国产精品久线观看视频| 一区二区三区免费网站| 欧美三区在线观看| 久久久久九九九九| 蜜臀av一级做a爰片久久| 亚洲图片你懂的| 免费亚洲电影| 亚洲欧洲久久| 在线性视频日韩欧美| 免费成人高清| 欧美人妖在线观看| 欧美成人精品1314www| 国产精品―色哟哟| 午夜国产精品影院在线观看| 一区二区三区免费网站| 国产精品综合不卡av| 亚洲第一综合天堂另类专| 国产欧美一区二区视频| 亚洲伦理在线观看| 国内精品久久久久久久果冻传媒 | 亚洲一区二区黄色| 夜夜夜久久久| 欧美岛国激情| 久久精品亚洲热| 欧美日韩美女一区二区| 亚洲日本乱码在线观看| 在线免费观看日韩欧美| 欧美肥婆bbw| 亚洲国产影院| 亚洲美女黄网| 久久男女视频| 亚洲风情亚aⅴ在线发布| 亚洲国产精品一区二区第一页| 国产精品嫩草99a| 亚洲经典一区| 亚洲永久免费av| 欧美精品1区| 亚洲精品美女在线| 亚洲高清不卡| 免费看亚洲片|