#!/usr/bin/perl -w
use strict;

my ($index_file, $db_file) = @ARGV;
open IX, $index_file;
open DB, $db_file;

my ($key, $row, $row_key, $done);

$done = 0;

read_key(); read_row();

while (!$done) {
	my $cmp = $key cmp $row_key;
	if ($cmp == 0) {
		print "$row\n";
		read_row();
	} elsif ($cmp < 0) {
		read_key();
	} else { # $cmp > 0
		read_row();
	}
}

sub read_key {
	$key = <IX>;
	if (defined($key)) {
		chomp($key);
	} else {
		$done = 1;
	}
}

sub read_row {
	$row = <DB>;
	if (defined($row)) {
		chomp($row);
		($row_key) = $row =~ /(.*?)\t/;
	} else {
		$done = 1;
	}
}
