#!/usr/bin/perl use strict; use warnings; my %subs = map {@$_} [qw /jones B0/], [qw /smith B1/], [qw /adrew B2/], [qw /larry B3/]; my @data = ([qw /jones AAAAA BBBBB CCCCC/], [qw /aaaaa AAAAA larry CCCCC/], [qw /jones AAAAA BBBBB CCCCC/], [qw /DDDDD AAAAA BBBBB larry/], [qw /jones AAAAA adrew CCCCC/], [qw /jones smith BBBBB CCCCC/], ); foreach (@data) { foreach (@$_) { $_ = $subs {$_} || $_; } } $" = '", "'; print qq !["@$_"]\n! for @data; __END__ ["B0", "AAAAA", "BBBBB", "CCCCC"] ["aaaaa", "AAAAA", "B3", "CCCCC"] ["B0", "AAAAA", "BBBBB", "CCCCC"] ["DDDDD", "AAAAA", "BBBBB", "B3"] ["B0", "AAAAA", "B2", "CCCCC"] ["B0", "B1", "BBBBB", "CCCCC"]