# hl7_conv use strict; use warnings; my $input = q(AB\T\F\S\CD); my $gen_out = ''; my $exp_out = q(AB&F^CD); my %convs = ( '|' => qr/\\F\\/, '^' => qr/\\S\\/, '&' => qr/\\T\\/, '~' => qr/\\R\\/, '\\' => qr/\\E\\/, ); $gen_out = hl7_replace($input); print "INPUT: $input\n"; print "GEN_OUT: $gen_out\n"; print "EXP_OUT: $exp_out\n"; print $0, ': ', $gen_out eq $exp_out ? 'SUCCESS!' : ' Z z . c8o, ', "\n"; exit 0; sub hl7_replace { my $in = shift; foreach my $key (keys %convs) { $in =~ s/$convs{$key}/$key/g; } return $in; }