Guest User

Untitled

a guest
Jan 21st, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Getopt::Long qw(:config no_ignore_case );
  5.  
  6. my $replace = undef;
  7. my $delete = undef;
  8. my $help = 0;
  9.  
  10. GetOptions (
  11. 'replace|r=s' => \$replace,
  12. 'delete|d' => \$delete,
  13. 'help|h' => \$help,
  14. ) or help('unrecognized options');
  15.  
  16. help() if $help;
  17.  
  18. if ($delete and $replace) {
  19. help( 'you must choose EITHER "delete" OR "replace". Not both');
  20. }
  21.  
  22. $delete = 1 unless $replace;
  23.  
  24. while (my $line = <STDIN>) {
  25. if ($delete) {
  26. $line =~ s{(/\*!\d+ )\s*definer\s*=\s*\S+}{$1}i;
  27. }
  28. elsif ($replace) {
  29. $line =~ s{(/\*!\d+\s+definer\s*=\s*)(\S+)}{$1 $replace}i;
  30. }
  31. print $line;
  32. }
  33.  
  34. sub help {
  35. my ($msg) = @_;
  36. if ($msg) {
  37. print "*** $msg\n";
  38. }
  39. print "dump_filter - mysqldump filter \n",
  40. "(C) Giuseppe Maxia, 2009\n",
  41. "removes/changes DEFINER clauses from MySQL dumps\n",
  42. "USAGE: dump_filter [options]\n",
  43. " -d|--delete removes the DEFINER clauses\n",
  44. " -r|--replace=s replaces every DEFINER clause with the \n",
  45. " new value provided\n",
  46. " -h|--help This text\n";
  47. exit(1);
  48. }
Add Comment
Please, Sign In to add comment