Source Insight does more than "just" lexical parsing to highlight keywords. However, it doesn't hook the Perl parsing engine. Admittedly, the concept is much more useful in a strongly-typed language like C++, where I can see a list of available members and word-completion after typing an expression thus-far, because it knows the type of that expression result and can look up the class definition.
For Perl, limited typing of lexicals are available, and simply scanning the Package lexically to find potential member names is not going to work in "fancy" frameworks.
Using Perl's parsing engine is not enough. It would need to execute the script to some point to determine what gets set up on-the-fly in the package's symbol table, and even then, you can't truely know the set of all X where $p->X is legal, because of AUTOLOAD tricks for lazy loading, generation of members on first-use from a declared template, etc.