2

2 つの別々のハッシュに読み取った 2 つのファイルがあります。最初のファイルには 2 つの列があり、次のようになります。

123456789 11111
234567891 22222
345678912 33333

2 番目のファイルには、次のような列が 1 つあります。

123456789
010124561
100324531

2 つのハッシュを比較したいのですが、2 つのファイルの最初の列が一致する場合は常に、最初の列の結果を新しいファイルに出力する必要があります。これは私がこれまでに持っているものです...

#!/usr/bin/perl

use Sys::Hostname;
use lib "$ENV{HOME}/common/lib/perl";
use strict;
use warnings;

my %oid;
my %oid2;
my %atom;
my %newline;
my $oid;
my $atom;
my @line  = ();
my @line2 = ();
my @oid   = ();
my @oid2  = ();

my $input  = 'file.txt';
my $input2 = 'file2.txt';
my $output = 'outputfile.txt';

open (IN, "<$input");
open (IN2, "<$input2");
open (OUT, "+>$output");

for my $line (<IN>) {
    chomp $line;
    my @line = split /\t/, $line;
    push( @oid, $line[0] );
    $oid{ $line[0] }  = $line[0];
    $atom{ $line[0] } = $line[1];
}

for my $line2 (<IN2>) {
    chomp $line2;
    my @line2 = split /\t/, $line2;
    push( @oid2, $line2[0] );
    $oid2{ $line2[0] } = $line2[0];
}
4

2 に答える 2