Beware that using "eval" neither silences perl from printing warnings to STDERR, nor does it stuff the text of warning messages into $@.