sftriman wrote:
> I've been wondering for a long time... is there a slick (and hopefully
> fast!) way
> to do this?
>
> foreach (keys %fixhash) {
> $x=~s/\b$_\b/$fixhash{$_}/gi;
> }
>
> So if
>
> $x="this could be so cool"
>
> and
>
> $fixhash{"could"}="would";
> $fixhash{"COOL"}="awesome";
> $fixhash{"beso"}="nope";
> $fixhash{"his"}="impossible";
>
> then it would end up
>
> "this would be so awesome"
>
> Thanks!
> David
>
>
I don't know if it's faster, but it's different:
#!/usr/bin/perl
use strict;
use warnings;
my %fixhash = ();
$fixhash{"could"}="would";
$fixhash{"cool"}="awesome";
$fixhash{"beso"}="nope";
$fixhash{"his"}="impossible";
my $str = "this could be so cool";
print "$str\n";
my @words = split /(\w+)/, $str;
for my $word ( @words ){
$word = $fixhash{$word} || $word;
}
$str = join( '', @words );
print "$str\n";
__END__
--
Just my 0.00000002 million dollars worth,
Shawn
Programming is as much about organization and communication
as it is about coding.
I like Perl; it's the only language where you can bless your
thingy.
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/