#! /usr/bin/perl
use warnings;
use strict;
my %alphanum;
open my $COMMA, '<', 'file2.in' or die $!;
while (<$COMMA>) {
my ($social, $id) = (split /,/)[1, 2];
$alphanum{$social} = $id;
}
open my $VBAR, '<', 'file1.in' or die $!;
while (<$VBAR>) {
chomp;
my $social = (split /\|/)[1];
if (exists $alphanum{$social}) {
print "$_|$alphanum{$social}";
} else {
print "$_\n";
}
}
####
John|123
Jane|456
John|123
Jane|456
Jack|789
####
John Doe,123,a0
Jane Smith,456,b1