I'm looking for a module or sub that I can customzie to replace arbitrary escape strings with other values. Think replacement like shell PS1.
$string = '\u $'; #should become #'username $' #ideally it would be implimented w/ a loop/switch while (#some magic) { switch ($1) { case "\u" { # $1 = $ENV{USER} } ... } } # or maybe a call to a sub replace($str, "\u" => $ENV{USER}, # replace \u with USER env var "\f" => sub { 'foo' }, # replace \f with the result of sub "\r\{([^}]+)}" = > sub { reverse($_[1] }, # replace \r{...} with str +ing in braces reversed "\(?:\d\d\d)" => sub { chr($_[1] } # replace 3 numbers with the corr +esponding character number };
It turns out searching google for perl+escape perl+replace+escape and similar produces a lot of results that are not what I'm looking for.
If you're google-fu is stronger or you know of a sub/code snippet/module that would do what I am looking for I would appreciate it.
-Alan
In reply to replace escape sequences in a string by alanwevans
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |