程序要求如下:
1,于命令行执行该程序之际 ,输入两个欲结合之文本文件之名称。
例如:“C:\Perl\perl merge.pl A文本.txt B文本.txt”
2,程序将两文件名称标记为标量A和标量B,在程序目录下查找名为标量A和标量B的文件。
3,程序将于两文本内,将到下一个换行符为止的一段文字视为一行内容。
4,作标准输出时,按照“A文本的内容一行,B文本内容一行,空一行”顺序循环输出文本内容。
例如:
“
苹果
apple
(空行)
香蕉
banana
(空行)
西瓜
watermelon
(空行)
”
5,若两文本其中一方内容先到达文件尾端(EOF)时,则直到另一方内容到达尾端为止,以空行代替原本位置继续输出。也就是说,最终输出的文件需将两文本的内容一行不剩全部包含进去。
6,当两文本都到达文件尾端(EOF),则结束输出,并退出程序。
7,要求当下列情况发生时返回错误信息:
(1)跟执行命令行一起输入的用来指定要合并的文件名的参数个数不对(不是两个)时
(2)指定的两个文件不存在(或者无法/无权限访问)时
=============================
示例用,以下用[EOF]表示文件尾端
A文本.txt
苹果
香蕉
西瓜
[EOF]
B文本.txt
apple
banana
watermelon
hello
[EOF]
-----------------
要将上面两个文本合并,最终输出C文本如下
C文本.txt
apple
(空行)
香蕉
banana
(空行)
西瓜
watermelon
(空行)
(空行)
hello
(空行)
[EOF]
-------------------------
特别要求:
这个是课堂作业,所以如果用的技巧太高超的话会暴露=_=b
所以请各位大侠用尽可能简单的表达式来书写
应该包含以下要素:
从用户在命令提示符中输入的参数中获得要处理的文件的文件名
比如“C:\users\admin\desktop>perl merge.pl A.txt B.txt”
打开文件的指令(open)
循环处理(while或者for)
用来判定两个文本是否已经到达最后一行的表达式
输出C文本的表达式
关闭打开的文件的表达式
返回错误用的表达式
拜谢