I think you should use do { instead of eval { there.
In reply to Re: Regexp Legibility by ambrus in thread Regexp do's and don'ts by muba