Knut (nicht der Eisbär): externe Daten einbinden

Beitrag lesen

Hi,

in Perl gibt es use.

Habe es damit probiert und probiert und probiert, aber ich komme nicht zurecht.
Dabei ist es bestimmt ein trivialer Fehler.
In der nachfolgenden 1. Variante enthält $erg den korrekten Wert aus dem Hash.
In der 2. Variante nach Auslagerung des Hash, bleibt $erg unbesetzt.

Variante 1:

  
#!/usr/bin/perl -w  
use strict;  
use CGI;  
use CGI::Carp qw(fatalsToBrowser);  
  
......  
  
my $s = "zb";  
my $erg;  
my %Zuordnung = (  
                   "ar"     => "autoradio",  
                   "zb"     => "zahnbürste",  
                   "xy"     => "aaaaaa"  
                  );  
  
$erg = $Zuordnung{"$s"};  

Variante 2:

  
#!/usr/bin/perl -w  
use strict;  
use CGI;  
use CGI::Carp qw(fatalsToBrowser);  
  
......  
my %Zuordnung;  
use Zuordnung;  
my $s = "zb";  
my $erg;  
  
$erg = $Zuordnung{"$s"};  

Programm Zuordnung.pm (im gleichen Verzeichnis wie zugehöriges Hauptprogramm):

  
package Zuordnung;  
use strict;  
my %Zuordnung = (  
                   "ar"     => "autoradio",  
                   "zb"     => "zahnbürste",  
                   "xy"     => "aaaaaa"  
                  );