ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

#

Exercise 1.8.  Newton's method for cube roots is based on the fact that if y is an approximation to the cube root of x, then a better approximation is given by the value
ch1-Z-G-5.gif
posted @ 2006-07-30 10:12 ivaneeo 阅读(367) | 评论 (0)编辑 收藏


例子:求2的平方根

Guess Quotient Average
  
1 (2/1) = 2 ((2 + 1)/2) = 1.5
  
1.5 (2/1.5) = 1.3333 ((1.3333 + 1.5)/2) = 1.4167
  
1.4167 (2/1.4167) = 1.4118 ((1.4167 + 1.4118)/2) = 1.4142
  
1.4142 ... ...

一.给出一个scheme的过程
(define (sqrt-iter guess x)
  (if (good-enough? guess x)
      guess
      (sqrt-iter (improve guess x)
                 x)))
二.改进猜的数(x除以猜的数和猜的数的平均值
   
(define (average x y)
      (/ (+ x y) 2))

    (define (improve guess x)
      (average guess (/ x guess)))
三.如何得到比较适合的值.这里做了一个假设,猜的值的平方减去x不小于0.001
   
(define (good-enough? guess x)
      (< (abs (- (square guess) x)) 0.001))

注:如何用内部过程来使用上面的部分:
(define (sqrt x)
  (define (good-enough? guess)
    (define (square)
      (* guess guess))
    (< (abs (- (square) x)) 0.001))
  (define (improve guess)
    (define (average y)
      (/ (+ guess y)
     2))
    (average (/ x guess)))
  (define (sqrt-iter guess)
    (if (good-enough? guess)
    guess
    (sqrt-iter (improve guess))))
  (sqrt-iter 1.0))

posted @ 2006-07-29 22:12 ivaneeo 阅读(578) | 评论 (0)编辑 收藏

省份/城市 DNS 名称 DNS IP ADDRESS
==========================================================
香港 ns1.netvigator.com 205.252.144.228

澳门 vassun2.macau.ctm.net 202.175.3.8

深圳 ns.shenzhen.gd.cn 202.96.134.133
202.96.154.8
202.96.154.15




北京 ns.bta.net.cn 202.96.0.133
ns.spt.net.cn 202.96.199.133
ns.cn.net 202.97.16.195
202.106.0.20
202.106.148.1
202.106.196.115

广东 ns.guangzhou.gd.cn 202.96.128.143
dns.guangzhou.gd.cn 202.96.128.68

上海 ns.sta.net.cn 202.96.199.132
202.96.199.133
202.96.209.5
202.96.209.133

浙江 dns.zj.cninfo.net 202.96.102.3
202.96.96.68
202.96.104.18

陕西 ns.snnic.com 202.100.13.11

西安: 202.100.4.15
202.100.0.68

天津 ns.tpt.net.cn 202.99.96.68

辽宁 ns.dcb.ln.cn 202.96.75.68
202.96.75.64
202.96.64.68
202.96.69.38
202.96.86.18
202.96.86.24

江苏 pub.jsinfo.net 202.102.29.3
202.102.13.141
202.102.24.35

安徽:
202.102.192.68
202.102.199.68


四川 ns.sc.cninfo.net 61.139.2.69

重庆 61.128.128.68
61.128.192.4

成都: 202.98.96.68
202.98.96.69

河北 ns.hesjptt.net.cn 202.99.160.68

保定: 202.99.160.68
202.99.166.4

山西 ns.sxyzptt.net.cn 202.99.198.6

吉林 ns.jlccptt.net.cn 202.98.5.68

山东 202.102.152.3
202.102.128.68

福建 dns.fz.fj.cn 202.101.98.55

湖南 202.103.100.206

广西 10.138.128.40
202.103.224.68
202.103.225.68

江西 202.109.129.2
202.101.224.68---j江西电信DNS
202.101.226.68---江西电信DNS
202.101.240.36 ---江西电信DNS ?

云南 ns.ynkmptt.net.cn 202.98.160.68

河南: 202.102.227.68
202.102.224.68
202.102.245.12

新疆: 61.128.97.73

乌鲁木齐 61.128.97.73
61.128.97.74

武汉: 202.103.24.68
202.103.0.117

厦门两个
202.101.103.55
202.101.103.54

山东的: 202.102.134.68

长沙
202.103.96.68
202.103.96.112

一些教育网内的----不一定好用
202.203.128.33 cernet云南中心主dns
202.203.128.34

210.14.232.241 and 203.93.19.133 罗湖
202.112.10.37 长安
202.115.64.33 and 202.115.64.34 西南交大
202.201.48.1 and 202.201.48.2 nwnu
210.33.116.112 浙江电大
202.116.160.33 华南农业
202.114.240.6 wust
202.194.48.130 ytnc
202.114.0.242 and 202.112.20.131 华中科大
202.202.128.33 and 202.202.128.34 重庆医科大?西安交大?
202.112.0.33 and 202.112.0.34 cernet 华北网
210.38.192.33 韶关

全国各地VPI/VCI列表
地名 VPI VCI DNS 其它
北京 0 35 202.106.196.115
天津 0 35 202.99.96.68
广西 0 35 202.103.224.68, 202.103.225.68
云南 0 35 61.166.150.101
普洱 0 35 61.166.150.101, 61.166.15.170
兰州 0 32
西安 8 35
长春 8 35
吉林市 0 39 202.98.0.68
0 38 202.98.5.68
哈尔滨 8 35
武汉 0 32 202.103.24.68
乌鲁木齐0 32 61.128.99.133, 61.128.99.134
顺德 8 81 202.96.128.68
广州 8 32 202.96.128.68, 202.96.128.110
8 35
中山 8 35
河源 8 81 202.96.128.143, 202.96.128.43
惠东 0 100
东莞 8 35
从化 8 35 202.96.128.68
湛江 0 80
8 81
0 100 202.96.128.68, 202.96.128.143
阳江 8 35 202.96.128.68, 202.96.135.133
南海 0 100 202.96.128.68, 202.96.134.133
江門 0 100 202.96.128.68
汕尾 0 35
珠海 8 35
斗门 0 100
汕头地区8 81 202.96.128.143, 202.96.128.68
汕头 0 35
东莞 0 100
肈庆 8 81 61.140.7.67, 202.96.134.133
202.96.128.68,202.96.128.143
佛山 8 35 202.96.128.68
惠州 0 100
福清 0 200
揭阳 8 81
秦皇岛 0 35 202.99.160.68, 202.99.166.4
浙江衢州8 81 202.101.172.37, 202.96.104.18
杭州 8 35
0 32 202.101.172.35, 202.96.104.18
辽宁 0 35
抚顺铁通8 32 210.52.149.2, 211.98.2.4
202.96.64.68
10.0.1.254(固定IP)
河南安阳8 81 202.102.224.68, 202.102.227.68
濮阳 0 35 202.102.224.68, 202.102.227.68
驻马店 0 35 202.102.224.68
河南铁通0 35 211.98.192.3,202.102.224.68
山东枣庄8 81
重庆 0 35
湖南 0 35 211.98.2.4
娄底 8 81 202.103.88.3, 202.103.100.100
贵州六盘水0 35 202.98.198.168
福建 0 200 202.101.98.55, 202.101.98.54
南平 0 35 202.101.115.55
厦门 8 35
福州 0 200 202.101.98.55
龙岩 0 35 202.101.113.55
三明 0 100 202.101.114.55
安徽合肥0 35
0 32
0 33 202.102.192.68
中原油田8 81
河南焦作0 35 10.255.0.68, 202.102.227.68
上海 8 81 202.96.209.5, 202.96.209.133
福建福州0 200  202.101.98.55

广东珠海8 35 市区(含吉大、拱北、香洲、新香洲)、唐家、金鼎
0 100 南屏、西区、斗门
上海 8 81 202.96.209.5 202.96.209.133
湖南娄底8 81 202.103.88.3 202.103.100.100
乌鲁木齐0 32 61.128.99.133 61.128.99.134
山东滨州0 40
浙江台州8 81 202.101.172.37 202.96.104.18
浙江衢州8 81 202.101.172.37 202.96.104.18
秦皇岛 0 35 202.99.160.68 202.99.166.4
重庆 8 35
枣庄市 8 81
福建龙岩0 35 202.101.113.55
江西萍乡0 35 202.101.224.68 202.101.226.68
武汉 0 32 202.103.24.68
福建三明0 100 202.101.114.55
广东湛江不同地域有:大多是8 81,另外为0 100, DNS 202.96.128.68
安徽 0 35 202.102.192.68 (主机在合肥)
深圳 8 35 202.96.134.133 202.96.128.68
赣州 0 35 218.87.132.1 218.87.142.1
陕西榆林0 35 61.134.1.9 61.134.1.4
龙岩武平0 35 202.101.98.55 202.101.113.55
樟树市 0 35 202.101.224.68 202.101.226.68
广州花都8 35
江苏南京8 35 202.102.24.34
江苏苏州8 35 202.102.14.141
江苏无锡0 100 202.102.2.141
江苏常州8 35 202.102.3.141,202.102.3.144
202.102.15.162
襄樊 0 35 202.103.44.5
湖南岳阳 8 81 220.103.99.3

北京 0 35 202.106.196.115
天津 0 35 202.99.96.68
广西 0 35 202.103.224.68
202.103.225.68
南宁 0 35 202.103.224.68
梧州 0 35 主 202.103.224.68
 备 202.103.229.40 

玉林 0 35 202.103.224.68
柳州 0 35 202.103.225.68(主用)
202.103.224.68(备用)

江苏苏州 8 35 202.102.14.141 hrh
江苏 无锡 0 100 DNS:202.102.2.141(dns.wx.js.cn)
江苏常州 8 35 202.102.3.141,202.102.3.144,202.102.15.162


襄樊 0 35 主 202.103.44.5
辅 202.103.0.117 xfhaoym
云南 0 35 61.166.150.101
普洱 0 35 61.166.150.101
61.166.15.170
兰州 0 32
西安 8 35
长春 8 35
吉林市 0 38
0 39
202.98.0.68
202.98.5.68 WWWXin
哈尔滨 8 35
武汉 0 32 202.103.24.68
新疆乌鲁木齐 0 32 61.128.99.133
61.128.99.134
顺德 8 81
8 35
202.96.128.68
202.96.128.68
广州 8 35
8 32 主202.96.128.68
辅202.96.128.110

花都、从化 8 35 主 202.96.128.68 202.96.128.110

白云区、海珠区 0 35 61.144.56.101
202.96.128.68
中山 8 35 202.96.128.68
深圳 8 35 202.96.134.133
202.96.128.68
增城
8 35 61.144.56.100
佛山高明区 0 100 202.96.128.68
南海市盐步镇压 0 100 主202.96.128.68. 202.96.134.133

河源 8 81 202.96.128.143
202.96.128.43
惠东 0 100
东莞 8 35
0 100
202.96.128.68
从化 8 35 202.96.128.68
湛江 0 80
8 81
0 100 202.96.128.68
202.96.128.143
202.96.128.68
阳江
8 35 202.96.128.68
202.96.135.133
南海 0 100 202.96.128.68
202.96.134.133
江門 0 100 202.96.128.68
汕尾 0 35
珠海 8 35
斗门 0 100
汕头地区 8 81 DNS1:202.96.128.143
DMS2:202.96.128.68
汕头 0 35
东莞 0 100
茂名
8 35 202.103.176.22
惠州 0 100 202.96.128.143



肈庆
8 81 主控DNS:61.140.7.67
辅助DNS:202.96.134.133
主DNS:202.96.128.68
辅DNS:202.96.128.143

佛山 8 35 202.96.128.68
惠州 0 100 wy.chen
福清 0 200 wy.chen
揭阳 8 81 wy.chen
清远 8 81 202.96.128.68 202.96.134.133
深圳 8 35
秦皇岛 0 35 主:202.99.160.68
备:202.99.166.4

浙江衢州 8 81 主:202.101.172.37
备:202.96.104.18
杭州 8 35
0 32 202.101.172.35
202.96.104.18
辽宁 0 35
辽宁抚顺铁通 8 32 210.52.149.2
211.98.2.4
202.96.64.68 网关:10.0.1.254(固定IP)

大连 8 35 DNS:202.96.69.38
202.96.64.68
河南安阳 8 81 202.102.224.68
202.102.227.68
濮阳 0 35 202.102.224.68
202.102.227.68
驻马店 0 35 202.102.224.68
河南铁通 0 35 211.98.192.3
202.102.224.68
山东 202.102.134.68
山东省枣庄 8 81
济南徐州铁通 0 35
荆门京山县 8 81
上海 0 32

重庆 0 35
8 35

湖南 0 35 211.98.2.4
长沙 0 32 202.103.96.68
常德 8 38 dns 202.103.0.117



娄底 8 81 202.103.88.3
202.103.100.100
贵州六盘水 0 35 202.98.198.168
福建 0 200 202.101.98.55
202.101.98.54
南平 0 35 202.101.115.55
厦门 8 35 Chunsheng JING
福州 0 200 202.101.98.55
龙岩 0 35 202.101.98.55
202.101.113.55

三明 0 100 202.101.114.55
陕西榆林 0 35 主 61.134.1.9
备 61.134.1.4
安徽合肥 0 35
0 32
0 33
202.102.192.68 详情
云南昆明 8 35
0 35
主 DNS:202.98.160.68
备DNS:202.98.161.68
中原油田 8 81

河南焦作 0 35 10.255.0.68
202.102.227.68

上海 8 81 202.96.209.5
202.96.209.133
江西南昌 0 35
樟树市 0 35  主202.101.224.68
备202.101.226.68
江西赣州 0 35 218.87.132.1
218.87.142.1

西藏拉萨 8 81 主用dns:219.151.32.66
备用dns:202.98.224.68

Comments
安徽
202.102.192.68
202.102.199.68
苏州的:202.102.14.146
202.102.14.141
202.102.15.162
无锡
主用:221.228.255.1
  备用一:218.2.135.1
  备用二:61.147.37.1
上海 202.96.209.6/133
青岛
202.102.134.68
202.102.154.3
海南
202.100.192.68
202.100.199.8
黑龙江
202.97.224.68
202.97.230.4
扬州
202.102.7.141
江西:
202.101.224.68
202.101.226.68
温州 :
61.153.177.196
61.153.177.197
成都网通:221.10.251.196
上海电信:主:202.101.10.10
辅:202.96.133.199
扬州电信 主:202.102.7.141
     辅202.102.7.90
香港: 203.98.129.9
203.98.129.1
深圳
202.96.134.133
202.96.134.188

贵阳
202.98.198.168
202.98.192.68
广州:
203.96.128.68
203.96.128.69

湖南省的中国铁通61.243.254. 211.98.2.4
湖南怀化最新的
218.77.31.200
安徽蚌埠
202.102.200.101
202.102.200.98
甘肃的:202.100.64.68 202.100.64.66
广州的:61.144.56.100
新疆:61.128.99.133
61.128.99.134
河南电信
219.150.150.150
219.150.32.132
邵阳:218.76.192.100,
218.76.192.101
杭州202.96.96.68早不用了,现在是202.96.103.36了
河南的早就更新了
目前河南安阳网通的是
219.157.70.130
218.29.255.68
厦门
电信 202.101.103.54
202.101.103.55
铁通 211.98.2.4
无锡DNS已经改了
现在是
主用:221.228.255.1
  备用一:218.2.135.1
  备用二:61.147.37.1
广东惠州
电信:202.96.128.68
铁通:211.98.4.1
211.98.2.4
马来西亚 TM NET:
主:202.188.0.133
辅:202.188.1.5
福建泉州 202.101.107.55
广州电信: 61.144.56.100 , 61.144.56.101
202.96.128.68 , 202.96.128.86 , 202.96.128.166
广州长城宽带: 211.162.62.1 深圳: 211.162.78.1
云南玉溪电信:61.166.150.101
61.166.15.170
江苏镇江电信的:202.102.4.141 202.102.2.141
江苏镇江网通的:221.6.4.66
深圳 202.96.134.134
河南铁通211.98.192.3 61.233.75.3
湖南的是202.103.96.112/202.103.96.68
湖南省怀化
202.103.83.3
218.77.31.200
重庆备用的那个61.128.192.68
内蒙网通: 202.99.224.8 202.99.224.68
吉林网通: 202.98.5.68
黑龙江202.97.224.68(69)
福建厦门:
202.101.103.55
202.101.107.55
山东电信: 219.146.0.130
219.150.32.132
posted @ 2006-05-18 20:41 ivaneeo 阅读(1414) | 评论 (0)编辑 收藏

浮点数:
   7.25e45   #可以直接用科学计数法定义
   -65e24   
   -12e-12
   -1.2E-23

十进制整数:
   61298040283768   #这里整数到底有多少位看不太清
   61_298_040_283_768   #这样就清楚了!

非十进制整数:
   0377   #八进制数
   0xff   #十六进制数
   0b1111111   #二进制数
   注:有两个进制转换函数:oct()和hex().
      oct(144);   #这里把一个八进制数转换为10进制数
      100
      hex(64);   #这里把一个十六进制数转换为10进制数
      100

数字操作符:
   perl会自动识别计算结果是整数还是浮点数。
   例:10.2   /   0.3   #整数34
            10   /   3   #浮点数3.3333333.....
   
   2 ** 3   #这里的阶乘很有用的!
   8
   注:复数可以查找CPAN Math::Complex模块。

文本
   单引号
      注:单引号的字符串不能使用转义和变量。
      例:'hello\n'
            hello\n
   
   双引号使用的转义符
      形式                转义 
      \n                     newline
      \r                     回车
      \t                     tab
      \f                     换纸
      \b                     退格键
      \a                     bell
      \e                     Escape建
      \007                 八进制数
      \x7F                 十六进制数
      \cC                  控制字符
      \\                     \
      \"                     "
      \l                     下一个字符转换为小写
      \L                     到\E结束的所有的字符转换为小写
      \u                     下一个字符转换为大写
      \U                     到\E结束的所有的字符转换为大写
      \Q                     到\E结束的所有的字符中不是英文单词的加转义符。
                                 例:print "a \Qfd d %\E";
                                          a fd\ d\ \%
      \E                     \L,\U,\Q的结束符。
posted @ 2006-04-20 20:56 ivaneeo 阅读(1147) | 评论 (0)编辑 收藏

一段perl代码:
   #!/usr/bin/perl -w
   @lines = `perldoc -u -f atan2`;
上面的代码可以调用perl的perldoc工具并且返回所有的系统信息。真是太神了!
posted @ 2006-04-20 18:15 ivaneeo 阅读(532) | 评论 (0)编辑 收藏

   我一直发觉opensource的很多软件都是用同一个打包工具。后来才发觉是一个叫nsis的opensource打包工具。地址:nsis.sourceforge.net。
   它是nullsoft scriptable install system简称。它是以脚本为基础的,所以非常灵活,高效。
posted @ 2006-04-20 18:06 ivaneeo 阅读(647) | 评论 (2)编辑 收藏

终于弄好了!花了好几天时间。弄到现在还是有问题,比如终端
的字体还是没有我办公室Fedora中的好看;这里的终端字体比
较小,而fedora中的比较大,很圆滑圆满。

下面是我在blog上写的笔记。同时帖几张图,大家看看,指点指点。


-----------------------------------------------------------------------------------------
以server安装的,再装desktop,

Ubuntu安装笔记
再等等Dapper的Release版本。记下安装Breezy的过程。

1)首先用Ubuntu 5.1的安装盘全新安装。采用缺省安装,不用server模式。
2)安装完成后,修改成城域中的源。sudo vi /etc/apt/source.list
3)设置locale: sudo dpkg-reconfigure locales选中zh_CN.UTF-8
4)安装中文语言支持:sudo apt-get install language-pack-gnome-zh language-pack-gnome-zh-base language-pack-zh language-pack-zh-base language-support-zh
5)安装中文字体:sudo apt-get install ttf-arphic-ukai ttf-arphic-uming
6)安装输入法scim:
$sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad

$sudo sh -c " echo 'export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim" ; scim -d ' > /etc/X11/Xsession.d/95xinput "

$sudo chmod +755 /etc/X11/Xsession.d/95xinput

7)设置LC_ALL和其它属性:
sudo gedit /etc/environment
需要使用英文界面,将内容修改如下:

LANGUAGE="en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=en_GB.UTF-8
GST_ID3_TAG_ENCODING=GBK

保存,关闭编辑器 好了,注销一下电脑。输入法 (按 Ctrl + 空格 键激活输入法) 都应该可以使用了。

8)中文粗体美化:按照手工升级freetype&ibXft在Ubuntu 5.10 下实现粗体
实现方法,详见:http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191

9)安装必要的字体:
安装msttcorefonts: sudo apt-get install msttcorefonts
使用winxp下面的字体:cd /usr/share/fonts/truetype
sudo mkdir windows
cd windows
sudo cp /media/hda1/windows/Fonts/simsun.ttc .
(我的winxp盘挂在在/media/hda1/下面)
还把tahmo*,等字体copy过来。

10)安装JAVA环境:
sudo apt-get install sun-j2re1.5
sudo ln -sf /usr/lib/j2re1.5-sun/bin/java /usr/bin/java

11)安装QQ:
1.下载并安装

wget -c http://download.ubuntu.org.cn/software/lumaqq_2005-linux_gtk2_x86_no_jre.tar.gz
sudo tar zxvf lumaqq_2005-linux_gtk2_x86_no_jre.tar.gz -C /opt/
wget -c http://download.ubuntu.org.cn/software/lumaqq_2005_patch_2006.01.30.02.00.zip
sudo unzip -o lumaqq_2005_patch_2006.01.30.02.00.zip -d /opt/LumaQQ/lib
sudo chown -R root:root /opt/LumaQQ/
sudo chmod -R 755 /opt/LumaQQ/
sudo gedit /usr/share/applications/LumaQQ.desktop

2.在新增的文件内加入下面这几行

[Desktop Entry]
Name=LumaQQ
Comment=QQ Client
Exec=/opt/LumaQQ/lumaqq
Icon=/opt/LumaQQ/QQ.png
Terminal=false
Type=Application
Categories=Application;Network;

3.保存编辑过的文件 安装完成后的快捷方式在(应用程序 -> internat -> LumaQQ)。

12)安装acroread:sudo apt-get install acroread

13)安装firefox 1.5.0.1:
a) 从官网上down下来,解压到/opt/下面
b)做个链接:sudo ln -sf /opt/firefox/firefox /usr/bin/


14)安装flash支持:
sudo apt-get install flashplayer-mozilla
似乎把插件安装在系统带的firefox目录中,把插件copy过来
sudo cp /usr/lib/mo*fox/plugins/*flash* /opt/firefox/plugins/

15)安装多媒体:
sudo apt-get install beep-media-player totem-xine w32codecs gstreamer0.8-plugins
这里依赖关系有问题,要删除相关的东西

16)安装编程环境:sudo apt-get install build-essential
17)安装gnuplot: sudo apt-get install gnuplot
18)安装窗口管理器小程序:sudo apt-get install nautilus-open-terminal
19)设置机群地址:sudo vi /etc/hosts 添加相关机器的地址
20)设置公寓网络登录脚本:
21)换个wallpaper:
22)安装matlab, mathematica, perl, mpi等等自己专业相关的库以及程序
22)上网,听歌,看电影,看代码,学习等等


参考链接:
1)快速设置指南http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97
2)手工升级freetype&ibXft在Ubuntu 5.10 下实现粗体
http://forum.ubuntu.org.cn/viewtopic.php?p=40191#40191
3)forum.ubuntu.org.cn
4)smth.org
5)kyxk.net

posted @ 2006-04-18 20:40 ivaneeo 阅读(7807) | 评论 (2)编辑 收藏

use POSIX qw/locale_h/;



##       获取有关钱币,时间,符号的信息。
$locale_values = localeconv();

for (sort keys %$locale_values) {
    printf "%-20s = %s\n", $_, $locale_values->{$_};
}

##      获取语言的所有信息

## 有LC_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE,
## LC_MONETARY, LC_NUMBERIC, LC_TIME,
## LANG这个要捕捉错误,因为有的系统没有设.
$old_locale = setlocale(LC_ALL);
print $old_locale;

posted @ 2006-04-18 20:39 ivaneeo 阅读(526) | 评论 (0)编辑 收藏

其实perl对国际化非常的支持,例如在windows下读入一个gbk(cp936)的文本,然后要转化为utf8的文本输出,代码如下:

use Encode;

use Encode::CN;      #最后包含这个包,以为对以后编译有好处。

use PerlIO;      # 同上




open(FILE, "<:encoding(gbk)", "gbk.txt");      # 这里自动解码成utf8
@lines = <FILE>;
 close(FILE);

   

open(F, ">:utf8", "utf.txt");      # 自动编码成utf8.
print F @lines;
close(F);


这样可以省得再打开以后在编码。

posted @ 2006-04-18 20:34 ivaneeo 阅读(414) | 评论 (0)编辑 收藏

一段简单的使用wxperl的perl代码:



#!/usr/bin/perl
#############################################################################
## Name:        samples/hello/hello.pl
## Purpose:     Hello wxPerl sample
## Author:      Mattia Barbon
## Modified by:
## Created:     02/11/2000
## RCS-ID:      $Id: hello.pl,v 1.3 2004/10/19 20:28:14 mbarbon Exp $
## Copyright:   (c) 2000 Mattia Barbon
## Licence:     This program is free software; you can redistribute it and/or
##              modify it under the same terms as Perl itself
#############################################################################

##      这里发觉只有使用Wx,Encode,Encode::CN,File::Glob这四个模块才能通过perl2exe编译。

##      但是还有把wxbase26u_gcc_custom.dll,wxmsw26u_adv_gcc_custom.dll,wxmsw26u_core_gcc_custom.dll

##      拷到目录下才能运行。

use strict;
use Wx;
use Encode;
use Encode::CN;
#use PerlIO;
#use POSIX;;
#use Getopt::Std;
use File::Glob;


# every program must have a Wx::App-derive class
package MyApp;

use vars qw(@ISA);

@ISA = qw(Wx::App);

# this is called automatically on object creation
sub OnInit {
  my( $this ) = shift;

  # create a new frame
  my( $frame ) = MyFrame->new();

  # set as top frame
  $this->SetTopWindow( $frame );
  # show it
  $frame->Show( 1 );
}

package MyFrame;

use vars qw(@ISA);

@ISA = qw(Wx::Frame);

use Wx::Event qw(EVT_PAINT);
# this imports some constants
use Wx qw(wxDECORATIVE wxNORMAL wxBOLD);
use Wx qw(wxDefaultPosition);
use Wx qw(wxWHITE);

sub new {
  # new frame with no parent, id -1, title 'Hello, world!'
  # default position and size 350, 100
  my( $this ) = shift->SUPER::new( undef, -1, 'Hello, world!',
                                   wxDefaultPosition , [350, 100] );

  # create a new font object and store it
  $this->{FONT} = Wx::Font->new( 40, wxDECORATIVE, wxNORMAL, wxBOLD, 0 );
  # set background colour
  $this->SetBackgroundColour( wxWHITE );

  $this->SetIcon( Wx::GetWxPerlIcon() );

  # declare that all paint events will be handled with the OnPaint method
  EVT_PAINT( $this, \&OnPaint );

  return $this;
}

sub OnPaint {
  my( $this, $event ) = @_;
  # create a device context (DC) used for drawing
  my( $dc ) = Wx::PaintDC->new( $this );

  # select the font
  $dc->SetFont( $this->font );
  # darw a friendly message
  $dc->DrawText( 'Hello, world!', 10, 10 );
}

sub font {
  $_[0]->{FONT};
}

package main;

# create an instance of the Wx::App-derived class
my( $app ) = MyApp->new();
# start processing events
$app->MainLoop();

# Local variables: #
# mode: cperl #
# End: #


我现在还不知是为什么。如果有哪位高手知道,告诉小弟一声。

谢谢!

posted @ 2006-04-18 20:27 ivaneeo 阅读(1014) | 评论 (0)编辑 收藏

仅列出标题
共67页: First 上一页 24 25 26 27 28 29 30 31 32 下一页 Last