गणना करने के लिए मैं निम्नलिखित के रूप में दो फ़ाइलें:दो फ़ाइलों में दो मिलान किया ID कैसे जानें, और उसके बाद उनके मानों का उपयोग
फ़ाइल # 1
A 20.68
B 17.5
C 15.6
D 20.6
E 27.6
फ़ाइल # 2
C 16.7
X 2.9
E 7.0
A 15.2
पहला कॉलम आईडी है और दूसरा कॉलम स्कोर है। मैं दोनों फाइलों में मिलान आईडी ढूंढने की कोशिश कर रहा हूं, और फिर फ़ाइल # 1 से अंतिम स्कोर (स्कोर 2 - स्कोर 1) की गणना # 2 में संबंधित स्कोर का उपयोग करें। निम्नलिखित परिणाम मैं चाहता है:
आउटपुट
C 1.1
E -20.6
A -5.48
निम्न कोड के माध्यम से, मैं मिलान किया जा सकता था आईडी, लेकिन मैं पता नहीं कैसे फ़ाइल # 2 से इसी स्कोर फ़ाइल # में गणना करने के लिए कॉल करने के लिए है 2। आपकी सहायता सराहनीय होगी!
open my $A, 'list1.txt';
open my $B, 'list2.txt';
my $h;
map { chomp; $h{(split /\s+/)[0]} ++} <$A>;
while (<$B>) {
my @split = split(/\s+/,$_);
my $ID = $split[0];
my $score = $split[1];
print "$ID\t$score\n" if $h{$ID};
}
धन्यवाद, Miler। हैश बहुत उपयोगी है। –