#! perl -sw use strict; sub doit { local $^W; *doit = sub{ print } if m[^foo]; } doit() while $_ = ; =output P:\test>junk4 fum fiddlesticks =cut __DATA__ fee fi foo fum fiddlesticks