#!/user/bin/perl my $in_str = "[DATA]\n" . "data1\n" . "[ENTRY]\n" . "entrying here\n" . "[STORY]\n" . "story1\n"; my $out_str; print "\n"; print "IN STRING:\n"; print "$in_str"; print "\n"; my @decomposed = split("\n",$in_str); print "\n"; print "DECOMPOSED STRING:\n"; print join(", ",@decomposed); print "\n"; print "\n"; my @recomposed; my $start; my $stop; my $out_token; foreach my $token (@decomposed) { if($token =~ /\[(\w+)\]/){ $start = "<$1>"; $stop = ""; } else { $out_token = "$start"."$token"."$stop\n"; push(@recomposed, $out_token); } } $out_str = join("",@recomposed); print "\n"; print "OUT STRING:\n"; print "$out_str"; print "\n"; exit(0);