autoload.pl.svn-base
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #!/usr/bin/env perl
  2. use strict;
  3. use FindBin qw($RealBin);
  4. if ($ARGV[0] eq '' || $ARGV[0] eq '--help' || $ARGV[0] !~ /^(on|off|status)$/) {
  5. print "Usage: autoload.pl <on|off|status>n";
  6. print "Enable or disable autoloading.n";
  7. exit;
  8. }
  9. chdir "$RealBin/..";
  10. my @files = qw(Commands.pm Skills.pm Match.pm Misc.pm Network/Send.pm
  11.        functions.pl ChatQueue.pm FileParsers.pm Utils.pm
  12.        IPC/Processors.pm Log.pm Interface.pm Plugins.pm
  13.        Settings.pm);
  14. if ($ARGV[0] eq 'on') {
  15. foreach my $file (@files) {
  16. if (!open(F, "< $file")) {
  17. print STDERR "Cannot open $file for reading.n";
  18. exit 1;
  19. }
  20. local($/);
  21. my $data = <F>;
  22. close F;
  23. $data =~ s/^# use SelfLoader;/use SelfLoader;/m;
  24. $data =~ s/^# __DATA__/__DATA__/m;
  25. if (!open(F, "> $file")) {
  26. print STDERR "Cannot open $file for writing.n";
  27. exit 1;
  28. }
  29. print F $data;
  30. close F;
  31. }
  32. print "Autoloading enabled.n";
  33. } elsif ($ARGV[0] eq 'off') {
  34. foreach my $file (@files) {
  35. if (!open(F, "< $file")) {
  36. print STDERR "Cannot open $file for reading.n";
  37. exit 1;
  38. }
  39. local($/);
  40. my $data = <F>;
  41. close F;
  42. $data =~ s/^use SelfLoader;/# use SelfLoader;/m;
  43. $data =~ s/^__DATA__/# __DATA__/m;
  44. if (!open(F, "> $file")) {
  45. print STDERR "Cannot open $file for writing.n";
  46. exit 1;
  47. }
  48. print F $data;
  49. close F;
  50. }
  51. print "Autoloading disabled.n";
  52. } else {
  53. open(F, "< $files[0]");
  54. local($/);
  55. my $data = <F>;
  56. close F;
  57. if ($data =~ /^use SelfLoader/) {
  58. print "Autoloading is currently: enabledn";
  59. } else {
  60. print "Autoloading is currently: disabledn";
  61. }
  62. }