How can I catch accesses to undefined variables/functions/methods?

The AUTOLOAD method, discussed in Autoloading and AUTOLOAD: Proxy Methods, lets you capture calls to undefined functions and methods.

When it comes to undefined variables that would trigger a warning under -w, you can use a handler to trap the pseudo-signal __WARN__ like this:

    $SIG{__WARN__} = sub {

	for ( $_[0] ) {

	    /Use of uninitialized value/  && do {
		# promote warning to a fatal
		die $_;
	    };

	    # other warning cases to catch could go here;

	    warn $_;
	}

    };