从C到Perl
从C到Perl
2008年11月19日 星期三 23:06
作者:王聪 <xiyou.wangcong@gmail.com>
很多人并不是把Perl当做第一门编程语言来学习的,在学Perl之前往往已经掌握了
一两门其它语言。虽然有争议,但是我个人认为Perl确实不适合作为入门语言。这篇文章就是写给那些熟悉C而且又想
掌握Perl的程序员,介绍一些技巧以及如何避免C程序员常犯的错误,带你渡过危险的沼泽。在读这篇文章之前,
请先查看perltrap的手册页,里面有很多有用的信息,这里不再重复。欢迎来到Perl的魔法世界!
如果你喜欢C,那你也会爱上Perl。
C语言的设计者Dennis Ritche说:“C语言诡异离奇,缺陷重重,却获得了巨大的成功。
”这大概是因为C的抽象程度碰巧既满足了程序员的要求, 又容易实现。钟爱C的人都乐意写一些稀奇古怪的C程序,并以此展示
自己的才能。Perl在这方面更可谓是“有过之而无不及”。 Perl丑陋而又抽象,完全可以用来写混乱代码,但它又灵活实用,而且更接近自然语言,也可以用来写诗。
这本身就很有意思。在C擅长的底层领域,Perl只能望尘莫及,毕竟它天生不是用来和硬件打交道的。
但在文本处理领域,C只好俯首称臣了,而Perl在这方面非常强大。据说,Perl也得到了很多生物学家的青睐, 在很大程度上帮助了人类基因组计划。谢谢Larry
Wall!
给C程序员的提示
Perl结合了多种编程语言的特性,C语言也在其中。Perl和C有以下相同之处:
1.分号是每个简单语句必需的,换行不能表示语句结束。
2.数组下标也是从0开始,Perl中像substr这样的字符串函数也是从0开始计算位置的。
3.逗号操作符的作用一样。
4.&&和||操作符作用一样。
然而,Perl和C毕竟是两种完全不同的编程语言,从C转向Perl有很多值得注意的地方。我们在下面详细讨论。
1.变量的类型由它前面的符号确定
这不是说Perl使用的是匈牙利表示法,而是Perl的特性。 在Perl中,$说明变量是一个scalar,@表明变量是一个array,
而%说明后面的变量是一个hash。比如:@foo是一个数组,而$foo[0]是数组@foo中第一个元素,@foo[0]是
一个数组片段,当然也是数组,但这个片段只有一个元素$foo[0]。如果你数组变量把赋给一个标量,比如:$bar=@foo;,
你将得到的是该数组中元素的个数。
2.没必要提前声明一个变量
 
相关文档:
I2C是Phillips开发的2线的串行总线协议。通常应用在嵌入式系统中让不同的组件通信,PC主板可以通过I2C来与不同的传感器通信。这些传感器通常报告风扇速度,处理器温度和整个硬件系统的信息,这个协议也可以用在RAM chips上,向操作系统提供DIMM的信息。
在2.0时I2C的kernel源码不在内核里的,2.4内核包括了一点对I2C的支持 ......
#include<stdio.h>
int cubeByValue(int n);
int main(){
int number = 5 ;
printf("The original value of number is %d\n",number);
number = cubeByValue(number);
printf("The new  ......
原文地址:http://blog.csdn.net/yc0188/archive/2005/02/26/303190.aspx
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各 ......
1.要解析的XML文件如下:
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet href="student.xsl" type="text/xsl"?>
<StudentInfo>
<student>
<name>达内</name>
<sex>男</sex>
<lesson>
  ......