$VERSION, @ISA, @EXPORT, etc. must all be
package variables. You have declared them as lexical variables instead, which means that as far as Exporter et al. are concerned, they don't exist. (In fact, since they're lexicalized to the BEGIN block, they don't exist for the rest of your module either.) This is why all the examples show
use vars qw/@EXPORT @EXPORT_OK .../; instead.
Note also that you want to import qw(IPGrab), rather than qw(:IPGrab), because you don't have an :IPGrab export tag.