# Array an Funktion übergeben



## schoppmann (27. Oktober 2003)

Hallo!
Ich habe folgende Funktion Get-Data geschrieben, welche einen SQL-Befehl an eine DB schickt und die Ergebniszeile in eine Array schreibt. 


```
sub Get_Data_Produkt {
  $sub="Get_Data_Produkt";
  undef @Data;
  
  $Zeile = $_[0];   # Zeile des Arrays in das die Daten geschrieben werden sollen 
  
  $sql_string = ("select * from Produkte where ProdCode = $_[1]"); #_$[1] ist der Übergabeparameter beim Aufruf der Funktion
  $rc=$dbaccess->Sql($sql_string);
  
  if( ! $rc)   # Wenn das SQL-Statement was zurück liefert
    {
      while ( $dbaccess->FetchRow() ) # Solange eine Zeile zu holen ist
      {
        @Data = $dbaccess->Data();    # Access-Data == meine Data      
        $Spalte=1;
          foreach (@Data)             
            {
             $array_Produkt[$Zeile][$Spalte] = $_;    # Schreib die einzelnen Felder in Felder meines Arrays
             $Spalte++;
            }
      }
       if ( ! @Data)    # Wenn keine Daten aus der Datenbank gekommen sind dann...
         {
          &writeerr("Error: sub $sub: Das Produkt existiert nicht");
          exit();	
         }
    }
  else
    {
     &writeerr("Error: sub $sub: SQL-Statement fehlgeschlagen");
     exit();	
    }
  
} # Get-Data ENDE
```

Da ich diese Funktion nun auch noch für andere Tabellen der DB und andere Arrays nutzen möchte, würde ich gerne wissen, wie ich beim Funktions-Aufruf das passende Array übergeben kann...kann mir dabei jemand helfen?

Schon mal Danke im voraus!


----------



## seriousvirus (15. Dezember 2003)

Am Einfachsten geht das, wenn du eine Referenz auf ein Array übergibst.
Also etwa so:

```
my @myarray=(3,4,5);
&myfunc(\@myarray);

sub myfunc {
  my refer=$_[0];
  foreach(@$refer) {
    print $_; 
  }
}
```


----------

