perl -MData::Dumper -le 'undef $/;$javafile = <>; while ( $javafile =~ / class (\w+) (.*?)^\}/smg ) { ($class,$body) = ($1,$2); while ( $body =~ /(\w+)\s*=\s*new\s+$class\s*\((.*)\)/g) { ($variable,$parameters)=($1,$2); foreach $v (split",",$parameters){ $v =~ s/[ "]//g; push @{$var{$class}{$variable}},$v } } }; print Dumper %var ' kk.java