#!/usr/local/bin/perl -w

# $^I = ".bak";

$Ev = 0;
$Class = 0;
$Winfo = 0;

while (<>)
 {
  $Ev++ if (s/my\s+\$Ev\s+=\s+shift/my \$Ev = \$w->XEvent/g);
  $Ev++ if (s/my\s+\(\$w,\$Ev\)\s+=\s+\@_/my \$w = shift; my \$Ev = \$w->XEvent/g);
  $Class++ if (s/[A-Z][a-z]+->bind/\$class->bind/);
  $Winfo++ while (s/[^>](Tk::)?winfo\s*\(\s*['"]?(\w+)['"]?\s*(,|=>)\s*(\$\w+(->\w+)*)\s*\)/$4->$2/); 
  s/winfotoplevel/toplevel/;
  print;
 }

print STDERR "$Ev Evchanges\n";
print STDERR "$Class class->bind changes\n";
print STDERR "$Winfo winfo changes\n";

