Perl: face à “ne Pouvez pas utiliser la chaîne XX comme un TABLEAU ref tandis que strict ”refs“ d'avertissement”

J'ai

 my $test_case_list  = [
     +{     
         label => &config->current->{'DBI'}[0],
         expected => 'dbi:mysql:dbname=investometrica',
      },     
      +{     
          label => &config->current->{'maintenance_file_path'}[0],
          expected => '/var/tmp/',
      },     
  ];         


  for my $test_case_item (@$test_case_list) {
  my $label = @{ $test_case_item->{label} };
  my $expected = @{ $test_case_item->{expected} };
  is ( $label, $expected, "Match");                                                                                                                                                                                 
  } 

Cela me donne une terrible avertissement:

Ne pouvez pas utiliser des chaînes de caractères ("dbi:mysql:dbname=investometrica") comme un TABLEAU ref tandis que strict "refs" en cours d'utilisation à la config.t ligne 25.

Ce que je fais mal?

  • $test_case_item->{expected} est une chaîne de caractères, pourquoi êtes-vous de la coulée dans une liste?
  • Lire le message d'erreur. Il vous dit que vous êtes en train d'utiliser une chaîne dans un tableau de référence. Arrêter de faire ça.
  • sur une liste" n'est pas un concept perl
InformationsquelleAutor ado | 2013-07-17