in reply to Trying to allow user-customizable prompts in a chat program

I'd use a hash:
my %data = ( RN => 'Joe', LOC => '3rd floor', UN => 'juser', ); my $prompt = "-RN- \@ -LOC-"; $prompt =~ s/-([^-]+)-/$data{$1} || "-$1-"/eg;
Update: Here's another way:
%map = ( UN => 0, RN => 1, LOC => 2, ); my $prompt = "-RN- (-LOC-)"; my @user_info = ("juser", "Joe", "3rd floor"); my @slices; $prompt =~ s{-([^-]+)-}{ if (exists $map{$1}) { push @slices, $map{$1}; "%s"; } else { "-$1-" } }eg; my $output = sprintf($pattern, @user_info[@slices]);
_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;