Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f5f077a7

Von Moritz Bunkus vor mehr als 14 Jahren hinzugefügt

  • ID f5f077a7993b74d793005e3aea6664debef07853
  • Vorgänger ad7353df
  • Nachfolger bed8ba6d

Funktionsnamensauflösung gefixt

Hintergrund. "my $abc = ... if ..." bewirkt, dass zuerst das "if"
ausgeführt wird. Schlägt das "if" fehl, so wird die Zuweisung nicht
ausgeführt. Somit bleibt der Wert in $abc vom vorherigen Aufruf
derselben Funktion erhalten.

I hate Perl.

Unterschiede anzeigen:

SL/Locale.pm
239 239
    }
240 240
  }
241 241

  
242
  my $sub_name   = first { defined &{ "::$_" } } @{ $self->{texts_reverse}->{$text_rev} } if $self->{texts_reverse}->{$text_rev};
243
  $sub_name    ||= $text_rev if ($text_rev =~ m/^[a-z][a-z0-9_]+$/) && defined &{ "::$text_rev" };
242
  my $sub_name;
243
  $sub_name   = first { defined(&{ "::${_}" }) } @{ $self->{texts_reverse}->{$text_rev} } if $self->{texts_reverse}->{$text_rev};
244
  $sub_name ||= $text_rev if ($text_rev =~ m/^[a-z][a-z0-9_]+$/) && defined &{ "::${text_rev}" };
244 245

  
245 246
  $main::form->error("$text not defined in locale/$self->{countrycode}/all") if !$sub_name;
246 247

  

Auch abrufbar als: Unified diff