perl -lane '$F[1]=~s/(chr\w[^_]?)_.*\b/$1/p;print ${^PREMATCH}. "\t".
+$F[1] ."\t" .${^POSTMATCH}'
| [reply] [Watch: Dir/Any] [d/l] |
| [reply] [Watch: Dir/Any] [d/l] [select] |
I never use English, so I am not sure what it is that you are saying.
You did in the post to which I replied.
What is the reason for using ${^PREMATCH} instead of $PREMATCH?
Quote perlre: "Once Perl sees that you need one of $& , $` , or $' anywhere in the program, it has to provide them for every pattern match. This may substantially slow your program."
${^PREMATCH} and the like are only set on demand (/p), so Perl doesn't need to preemptively populate it whenever you perform a match.
| [reply] [Watch: Dir/Any] |