- 论坛徽章:
- 1
|
看你写的 代码。。真心乱。。。
1. perl里面 尽量少用 系统相关的指令。
linux perl
cp ----> copy
rm -----> unlink
2. #! ..... ,是perl的路径 linux下用which perl查看,或者 直接写perl也行: #! /usr/bin/perl , #! perl
2. 可以少用printf 用print ,printf主要用于格式输出
3. 循环里面打开了那么多 open(NEWVFLOORS, ">>", "$vfloors")or die $!; 咋就忘了关闭呢。
4. 在你 每次打开$vfloors之前,为啥又用template覆盖掉他呢。。。。,所以。。不止头两行没有输出到目标文件,是只能保存源文件最后一行(你的问题就出现在这里)- #! /usr/bin/perl
- use strict;
- use warnings;
- my @files = glob "*vFloors";
- for (@files) {
- add_template_to('./template', $_);
- }
- sub add_template_to {
- my $template = shift || "";
- my $file = shift || "";
- # 读取源文件行
- open my $SRC, "<$file" or die $!;
- my @src_lines = <$SRC>;
- close $SRC;
- # 读取模板的行
- open my $TPL, "<$template" or die $!;
- my @template_lines = <$TPL>;
- close $TPL;
- # 获取新文件的行
- my @dst_lines = @template_lines;
- push @dst_lines, @src_lines;
- # 写入文件中
- open my $DST, ">$file" or die $!;
- print $DST @dst_lines;
- close $DST;
- }
复制代码 |
|