For your simple specification you really only need to find the final newline and capture through the end of the string. A regular expression isn't needed for that:
my $found = substr $tmp, rindex($tmp, "\n")+1;
print "$found\n";
This solution would translate with minor changes to almost any language.
A regular expression would let you get more fancy in what you gather without the code becoming unmanagable.
my $tmp = "1: 2\n2: /my/tmp/20160213T161519/outgoing\n3: DL\n4: 0\nTem
+pSource: , Ue: 2, TaskName=, TempDest: \nTaskName \n/data/busybox/ps
+|grep mgen5| grep -v grep\nDL txt is running PID: 3848\nRunning:Mgen:
+3848";
my @fields = qw(All Value Name Process_ID);
my %substr;
@substr{@fields} = $tmp =~ m/\n(Running:(([^:]+):(\d+)))(?:\D|$)/;
printf "%-12s[%s]\n", $_, $substr{$_} for @fields;
This produces...
All [Running:Mgen:3848]
Value [Mgen:3848]
Name [Mgen]
Process_ID [3848]
|