| Refresh | Home EGTry.com

use replacement to split string and keep delimiters


one usage is a simple template engine implementation. As the first step in a template engine, it splits raw string into a sequence of pure text and template tag.

replace_split.pl

use strict;

my $template='<form action="${action}"> <input nane=username value=${username}/></form>';



print "Origin: \n$template\n\n";
print "Split to: \n";

while($template =~ s/^(.*?)\${(\w+)}//) {
  print "$1\n";
	print "$2\n\n";
};


output

Origin: 
<form action="${action}"> <input nane=username value=${username}/></form>

Split to: 
<form action="
action

"> <input nane=username value=
username