my %hash = (1=>"abc", 2=>"xyz");
my $line = '1324';
my @keys = keys %hash;
$line =~ s/([@keys])/$hash{$1}/g;
print $line . "\n";

-----Original Message-----
From: chris [mailto:[EMAIL PROTECTED]]
Sent: Thursday, August 01, 2002 4:14 PM
To: [EMAIL PROTECTED]
Subject: Re: Regexp to match by hash key and replace with hash value?


ok now how to build this on the fly using %hash

([12])

On Thu, 1 Aug 2002 16:01:24 -0400, [EMAIL PROTECTED] (Shishir
K. Singh) wrote:

>You forgot to put the brackets () around [12]
>$line =~ s/([12])/$hash{$1}/g;
>
>-----Original Message-----
>From: chris [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, August 01, 2002 3:57 PM
>To: [EMAIL PROTECTED]
>Subject: Re: Regexp to match by hash key and replace with hash value?
>
>
>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


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to