Přesně to jsem měl na mysli. V perl jsou samotné proměnné vyřešené, protože se musí povinně deklarovat, navíc je vidět jejich scope (tedy při zapnutém strict). Ale stejně jako v ostatních dynamicky typovaných jazycích, pokud volám metodu nebo šahám na atribut objektu, tak tak kontrola už tam není prakticky žádná.
Co se těch nástrojů týče, tak to vystihuje celou absurditu dynamicky typovaných jazyků - na začátku se tvrdí, že vlastně statické typování není třeba a pak se přes šílené workaroundy v komentářích či anotacích snaží ty typy dostat, aby byly přístupné aspoň pro statickou analýzu, když už ne v runtime :-/