- 论坛徽章:
- 0
|
本帖最后由 gentoo2011 于 2011-05-29 22:50 编辑
- #!/usr/bin/perl -w
- use strict;
- use IO::File;
- my @handlepairs;
- foreach my $file ( glob('*.pm') ) {
- (my $out = $file) =~ s/\.pm$/.out/;
- push @handlepairs, [
- (IO::File->new('<$file') || die),
- (IO::File->new('>$out') || die),
- ];
- }
- while (@handlepairs) {
- @handlepairs = grep {
- if (defined(my $line = $_->[0]->getline)) {
- print { $_->[1] } $line;
- } else {
- 0;
- }
- } @handlepairs;
- }
复制代码 这段是《Intermediate Perl》中的示例代码,用于把同一目录下的所有以.pm后缀的文件更名为以.out为后缀,可是一运行程序,就提示:
“Died at changename line 11.“
这段程序看起来没有错误,如果当前目录下没有以.pm结果的文件,也不会出现错误提示,不知道是什么原因,求高手们指点,谢谢! |
|