《intermediate perl》一书中第8章练习2是一个分割文件的练习
Gilligan: 1 coconut
Skipper: 3 coconuts
Gilligan: 1 banana
Ginger: 2 papayas
Professor: 3 coconuts
MaryAnn: 2 papayas
.......
要求按照:前的字符将原始文件分割成若干个*.info文件
可以有2种方法解决
1、
#!/usr/local/bin/perl
use strict;
use warnings;
use IO::File;
my %output_handles;
while (<>) {
unless (/^(S+):/) {
warn "ignoring the line with missing name: $_";
next;
}
my $name = lc $1;
my $handle = $output_handles{$name} ||=
my $fh =IO::File->new(">$name.info")|| die "Cannot create $name.info: $!";
#print "$. $fhn" ;
#print "$. $handlen" ;
print $handle $_;
}
2.
#!/usr/local/bin/perl
use strict;
use warnings;
use IO::File;
my %output_handles;
while (<>) {
unless (/^(S+):/) {
warn "ignoring the line with missing name: $_";
next;
}
my $name = lc $1;
# my $handle = $output_handles{$name} ||=
my $fh =IO::File->new(">>$name.info")|| die "Cannot create $name.info: $!";
#print "$. $fhn" ;
#print "$. $handlen" ;
print $fh $_;
}
来自 “ ITPUB博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。
转载于:/
本文发布于:2024-01-31 11:44:08,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170667265328278.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |