哦,但那是真的吗?
问得好,我希望在你使用perl大约一年之后,就能告诉我答案。一样东西的描述就像一个容器……,我仍旧在试图寻找一个适合perl的足够大的容器(要是带有能锁的盖子就更好了)。
那perl不适用的方面呢?
我不会用perl去写一个gui文字处理程序,一个图形游戏,或者一个图形浏览器。perl能通过与许多其他语言的接口真正的交互,所以你可以实现刚才所说的全部程序。但在我看来,在其它编程语言里有许多更有效的方法去做那些事情。“对一个拿着锤子的人来说,所有的问题看上去都像是钉子”——程序员们小心了。
值得注意的是,perl本身并不是用perl写成的,也不是linalx的内核。那些底层的事务用c/c++来处理会更好的。“用最适合的工具去做最适合的工作”应成为每个程序员的座佑铭。
在拉开跳伞索之前的最后一次告诫。
如果你对perl有一点了解,或者看过《aint the way i learned it》系列内容的话,一定记得perl的口号:“做事总有不止一种办法(there's more than one way to do it)”。这常被缩写为tmtomdi,并称为“tim-today”,是perl的核心观点之一。当然,任何对明显的错误的订正都非常欢迎。
那些看过我早些时间写的关于shell脚本的丛书的人也许记得,一个脚本开始都有被称作hash-bang或shebang的行:
#!/bin/ bash
这行告诉外壳(shell)派生一个subshell(子shell),随后的代码将被这个特定的subshell程序解释执行。perl脚本也一样,第一行必须是:
#!/usr/bin/perl
或者任何一个正确的perl解释器的路径。
注意到hash-bang的必要条件:
1) 它必须是在脚本中的第一行。
2) #号必须是本行的第一个字母,并且在#号和!号之间不能有任何字母或符号。
3) 必须使用绝对的路径,而不是只有可执行程序的名称。
下面,让我们试着写出我们的第一个 perl脚本:
#!/ usr/bin/perl
# "goodbye" - a modern, high-angst replacement for "hello world"
print "goodbye, cruel world!
";
unlink $0;
嗯,至少在离开以前说了“再见”;礼貌夫人都会为此骄傲的。我们在这个脚本里做了什么呢?有几件事情是相当明显的:第一,“hash-bang”,第二,一行告诉我们脚本要做什么的说明—从shell脚本发展出来的另一个东东,并且这是个不错的想法(在代码中并没有过多的解释!)。第三,我们用“print”函数打印出所要的信息。注意,在一串字符末尾的“ ”:perl不会自动为你提供一个换行,所以你必须自己决定要还是不要。还要注意,在每一行代码末尾的分号:就像c语言,perl也有同样的要求,不幸的是这常被编程者所忘记。实际上,由于有着相对易懂的信息,perl的错误检查十分容易,作为代码语句的分隔标志,分号常被认为是下一行的前导符。如果你注意到这个问题,并不麻烦,最好记住使用分号。
最后一行的意思是删除 “goodbye cruel world”文件,符号“$0”仅仅是被运行堵塞的脚本的名字的引用,“unlink”做了和“rm”一样的事。注意,“$0”比“goodbye”甚至是“/goodbye”有用的多,不管文件是什么名字,“$0”将返回这个文件名。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器