Avatar billede sarid Nybegynder
27. marts 2003 - 14:06 Der er 2 kommentarer og
1 løsning

Passing arrays til en subroutine

Hej,

Hvordan kan jeg sende en array med som argument til en subroutine?

sub test0(@)
{
  my @ARRAY = shift();

  foreach $blah (@ARRAY) {
    print $blah;
  }
}

sub test1()
{
  ...
  push(@RESULTS, "blah0");
  push(@RESULTS, "blah1");
  test0(@RESULTS);
}

Je har noget ligende med det virder ikke helt.  Hvad gører jeg forkert??

På forhånd tak.
Avatar billede logos Nybegynder
27. marts 2003 - 14:45 #1
@list = (data1,data2,data3);
$resultat = &subroutine(@list);

sub subroutine {
  @overførtliste = @_;
  ---- gør noget---
  Return; # retunerer værdi til $resultat
}
Avatar billede mfalck Praktikant
28. marts 2003 - 09:33 #2
ellers skal du overføre en ref til et array - noget i stil med:

$ref = \@ary;

sub funk {
  my ($ref) = @_;

  my @ary = $$ref;
}
Avatar billede sarid Nybegynder
04. april 2003 - 12:04 #3
Super!  Tak for hjælpen gutter.  Jeg giver pointerne til logos da had var den første, der svarede.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester