# set up a hash containing the values you want my %SWAPS = (); $SWAPS{printer} = $printer; $SWAPS{quota} = $quota; if($pagestate eq "duplex"){ $SWAPS{pagestate} = 'double sided'; }elsif ($pagestate eq "simplex"){ $SWAPS{pagestate} = 'single sided'; } if( 1 ){ $SWAPS{multiplier} = 'some_multiplier'; } # swap out things like __printer__ with $SWAPS{printer} $msg =~ s/__(\w+?)__/$SWAPS{$1}/g;