又忘记了这个怎么处理
时间:2010-11-11
来源:互联网
本帖最后由 heqidz 于 2010-11-11 15:57 编辑
文件1
1
2
3
文件2
1 aa
1 bb
1 cc
2 ii
2 pp
3 uu
3 ll
结果
1
aa
bb
cc
2
ii
pp
3
uu
ll
俺写的哪里错了?
#!/usr/bin/perl
use strict;
use warnings;
my (%hash,@array) = ();
open A,"02.txt" or die "$!\n";
while (my $str = <A>) {
chomp $str;
my ($num) = $str =~ m{^(\d+)};
unless (!$num) {push @array,$num;};
}
close A;
open B,"01.txt" or die "$!\n";
while (my $str = <B>) {
chomp $str;
my ($num,$val) = split /\s+/,$str;
unless (!$num or !$val) {$hash{$num} = $val;};
}
foreach my $num (@array) {
if (exists $hash{$num}) {
print "$num\n";
print "\t$hash{$num}\n";
}
}
文件1
1
2
3
文件2
1 aa
1 bb
1 cc
2 ii
2 pp
3 uu
3 ll
结果
1
aa
bb
cc
2
ii
pp
3
uu
ll
俺写的哪里错了?
#!/usr/bin/perl
use strict;
use warnings;
my (%hash,@array) = ();
open A,"02.txt" or die "$!\n";
while (my $str = <A>) {
chomp $str;
my ($num) = $str =~ m{^(\d+)};
unless (!$num) {push @array,$num;};
}
close A;
open B,"01.txt" or die "$!\n";
while (my $str = <B>) {
chomp $str;
my ($num,$val) = split /\s+/,$str;
unless (!$num or !$val) {$hash{$num} = $val;};
}
foreach my $num (@array) {
if (exists $hash{$num}) {
print "$num\n";
print "\t$hash{$num}\n";
}
}
作者: heqidz 发布时间: 2010-11-11
- unless (!$num or !$val) {

作者: zhlong8 发布时间: 2010-11-11
回复 zhlong8
??????这个怎么了
??????这个怎么了
作者: heqidz 发布时间: 2010-11-11
回复 heqidz
没什么,人老了逻辑关系搞不清楚了。unless 只推荐用在简单的情况下,而且里面最好不要用否定,还有那个 not or not 最好简化下 。总之我是看不下来了,还不如自己写个来的快
没什么,人老了逻辑关系搞不清楚了。unless 只推荐用在简单的情况下,而且里面最好不要用否定,还有那个 not or not 最好简化下 。总之我是看不下来了,还不如自己写个来的快
作者: zhlong8 发布时间: 2010-11-11
回复 zhlong8
那你帮我写个,我瞧瞧,我这个有点问题,谢了
那你帮我写个,我瞧瞧,我这个有点问题,谢了
作者: heqidz 发布时间: 2010-11-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28