I need something like this to work
my %hash = (1=>"abc", 2=>"xyz");
my $line = '1324';
$line =~ s/[12]/$hash{$1}/g;
print $line . "\n";
#expected result abc3xyz4
#actual result 34
On Thu, 1 Aug 2002 13:01:41 -0400 , [EMAIL PROTECTED] (Bob
Showalter) wrote:
>> -----Original Message-----
>> From: chris [mailto:[EMAIL PROTECTED]]
>> Sent: Thursday, August 01, 2002 12:58 PM
>> To: [EMAIL PROTECTED]
>> Subject: Regexp to match by hash key and replace with hash value?
>>
>>
>> Can I do the following with a single replace?
>>
>> my %hash = ("1","abc", "2","xyz");
>> my $line = '12';
>> while( my($key, $val) = each(%hash) ) {
>> $line =~ s/$key/$val/g;
>> }
>> print $line . "\n";
>
>Assuming your hash keys are all single digits:
>
> $line =~ s/(\d)/$hash{$1}/eg;
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]