diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 6579a6e8af0..23a85ef7ecc 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -45,10 +45,13 @@ our $reorder= 1; sub collect_option { my ($opt, $value)= @_; + # Evaluate $opt as string to use "Getopt::Long::Callback legacy API" + my $opt_name = "$opt"; + # Convert - to _ in option name - $opt =~ s/-/_/g; + $opt_name =~ s/-/_/g; no strict 'refs'; - ${$opt}= $value; + ${$opt_name}= $value; } use File::Basename; diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index 3e2ef4e09ef..81304ab58e1 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -44,12 +44,13 @@ our $timer= 1; sub report_option { my ($opt, $value)= @_; - # Convert - to _ in option name - $opt =~ s/-/_/g; - no strict 'refs'; - ${$opt}= $value; + # Evaluate $opt as string to use "Getopt::Long::Callback legacy API" + my $opt_name = "$opt"; - #print $name, " setting $opt to ", (defined $value? $value : "undef") ,"\n"; + # Convert - to _ in option name + $opt_name =~ s/-/_/g; + no strict 'refs'; + ${$opt_name}= $value; } sub _name {