#!/usr/bin/perl %hooks = (); open LIST, "find . -type f | grep -v svn |grep -v \/docs\/ | xargs grep phorum_hook |"; while () { chomp; if (m/^([^:]+).*phorum_hook\s*\(\s*[\'\"]([^\"\']+)[\'\"]/) { push @{$hooks{$2}}, $1; } } close LIST; open LIST, "find . -type f | grep -v svn |grep -v \/docs\/ | xargs grep -i \{hook |"; while () { chomp; if (m/^([^:]+).*\{HOOK\s+(.+)\b/i) { push @{$hooks{$2}}, $1; } } close LIST; foreach my $hook (sort keys %hooks) { $files = join (" ", @{$hooks{$hook}}); print "$hook $files\n"; }