Perl 编程/练习 3
编写一个程序来读取磁盘上的文件,并将其保存为一个新的文本文件。(确保你没有处理重要的文档!)尝试下载一个公共领域的书籍 [1] 来测试你的程序如何处理大型文本文件。
修改你的程序,使其只复制以“Chapter 1”或其他类似标识符开头的文本行。尝试识别每个章节号,并对其进行一些简单的数学运算。显示书籍中的章节数量,以及每个章节包含的行数。
在文本中加入一个正则表达式来搜索重复出现的单词。使其即使单词的大小写不同也能找到重复出现的单词。
尝试搜索以“de”开头,以元音结尾的单词。编写一个搜索以识别文本中的数字,无论它们是否有小数点、负号等。如果你愿意,你也可以尝试找到以文字形式写出的数字。
在你选择的书籍中,有多少个不同的专有名词?有多少个问题?
修改文件复制程序,使其搜索每个单词的实例,并在输出文件中将其替换为另一个单词。检查程序是否正确运行。你是否信任它来处理重要的文档?
编写一个程序来将每个句子的首字母大写,并对其进行测试。确保它不会被数字、缩写和标题中的句号所误导。
编写一个程序来搜索书籍中的数字,并将每个数字加 10。编写一个程序来搜索括号中的表达式(10+3/2),并将它们替换为结果(11.5)。检查它在表达式中写入(print "hello";)代码时是否不会做任何危险的事情。
使用 Time::HiRes 模块或基准测试模块,修改你的程序之一,以显示运行时间。
尝试使用基准测试系统来确定你的程序中哪一行代码运行时间最长。哪一行代码运行次数最多?
编写一个程序,它搜索目录中与提供的正则表达式匹配的文件。显示在特定目录集中运行程序所花费的时间。
修改程序,使其搜索目录树,而不仅仅是一个目录。
测试不同的搜索请求如何影响搜索所需的时间。看看你是否能找到一个永远不会结束的正则表达式(按下 ctrl-c 停止一个繁忙的 Perl 程序)。然后尝试重写该正则表达式,以更快地完成相同的任务。