It works as expected. self->{blah} is only one on every iteration. But you increment also the global var blah every time you call printblah.
try to start your script with use strict; to note such errors.
Boris
Comment on Re: Undef doesnt work?This has got me stumped