in reply to Re: Re: Re: What Is Going On Here ?????
in thread What Is Going On Here ?????

I think it's a lot more readable to simply say:
local $_;
at the top of do_something. No sense in making Perl do localization work for every iteration of the loop.

Generally (and this is for everyone else), if you use any functions that make use of $_ in this fashion, you should remember to mask its global value while you use it (via local), so that when your function returns, anything that depends on the value of $_ elsewhere won't be disappointed.