perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 02:26

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragProbleme bei der Rückgabe von Arrays aus einer Sub-Routine
Seitenanfang
Hallo zusammen!

Hier ist ein Ausschnitt von dem Code, mit dem ich Probleme habe:

(@old_header,@old_atoms,@old_bonds) = mol2_read($opts{m});

sub mol2_read {

#macht was mit den Arrays

return(\@mol2_header,\@mol2_atoms,\@mol2_bond)

}

So, das Problem das ich habe ist folgendes:
Alle Arrays, die von mol2_read zurückgegeben werden, sind in dem Array @old_header gespeichert.
Das war so nicht gedacht. Jedes zurückgegebene Array sollte in einem Array gespeichert werden.
Weiß jemand rat?

Falls es wichtig ist: @mol2_header ist 1-Dimensional, die übrigen 2-Dimensional.

Danke für die Hilfe!

German

Datum: 20.06.2007-13:52

Beitragre: Probleme bei der Rückgabe von Arrays aus einer Sub-Routine
Seitenanfang
Hallo!

Die Rückgabe von Arrayreferenzen, wenn du die Arrays trennen willst, ist schon mal ein guter Anfang. Allerdings musst du sie dann auch entsprechend als Referenzen entgegennehmen:

my ($old_header, $old_atoms, $old_bonds) = mol2_read($opts{m});
Entweder du arbeitest gleich nur mit den Zeigern, oder du musst diese dann noch explizit dereffernzieren:
my @old_header = @$old_header # usw...

Eine andere Möglickeit wäre noch, dass du an die Subroutine die Referenzen auf die Arrays übergibst, um diese direkt zu beschreiben.

mol2_read($opts{m}, \@old_header, ...);

sub mol2_read {
my $opts_m = shift;
my @mol2_header = @{shift}; # usw...
# Arrays bearbeiten
}

Grüße, Skrilax

Datum: 20.06.2007-17:02

Beitragre: Probleme bei der Rückgabe von Arrays aus einer Sub-Routine
Seitenanfang
Besten Dank! Du hast mir sehr geholfen!
Jezt läuft es so,wie ich es mir gedacht habe.

Datum: 21.06.2007-10:43

-






-
-