use re 'eval';<>=~$";('*'x$`)=~('^'.'(.*)'x$'.'$(?{print join("|",map$$_,1..$#+),$/})(?!)')