in reply to function help

moritz gives good advice but I will word it stronger: Don't call find from inside find! There is no need and you run the risk of clobbering your variables ( though this is fixed in new versions of find. )

This:  $size1 += -s is wrong. Since $size1 wasn't declared with my, $size1 is not local to the subroutine and will only contain '0' once, being incremented each time your callback is called. There's no real need to set any variable, just do:  print $File::Find::name if not -s; inside your callback.

s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s |-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,, $|=1,select$,,$,,$,,1e-1;print;redo}