aliohjelma kutsuminen muuttujalla

lisää perliä

miten saan kutsuttua aliohjelmaa muuttujan avulla :

$muuttuja = "auto";
$vastaus = &sub::$muuttuja('lada');

ei toimi, mutta :

$vastaus = &sub::auto('lada');

toimii kuten pitääkin.

3

1032

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • perliä

      Tuliko vihdoinkin niin vaikea, ettei löytynyt vastatusta :)

      • Luova evalin käyttö tuntui ainakin toimivan:

        #!/usr/bin/perl -w

        sub auto {
        print "auto:@_\n";
        return 1;
        }

        sub auto2 {
        print "auto2:@_\n";
        return 2;
        }

        my $muuttuja = "auto";
        my $vastaus = eval qq/$muuttuja("lada");/;
        print "vastaus=$vastaus\n";
        $muuttuja = "auto2";
        $vastaus = eval qq/$muuttuja("lada");/;
        print "vastaus 2=$vastaus\n";


    • *BSD

      Tohon on kaksi tapaa:

      1. Kutsut funktiota "synbolisen linkin kautta"

      {
      ' no strict 'refs';
      ' my $muuttuja = 'foo';
      ' &{ $muuttuja }();
      }

      Kun aina käytät 'use strict' niin tarvitsee ton blokin aikana käskyttää, ettei välitä noista (no strict ..).

      2. Pistät sen funktion "viittauksen" muuttujaan:

      my $ref = \&foo;
      &{ $ref }();

      Kohta 2. on suositeltu.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Täytyi haukkuu sut lyttyyn

      En haluu tuntee rakkautta sua kohtaan enää ja haluun unohtaa sut mut sit tulee kuiteki paha olo kun haluis vaan oikeesti
      Ikävä
      61
      1663
    2. Kieli pitkällä täällä odotan :D

      Pus pus :D
      Ikävä
      44
      1003
    3. SINÄ nainen hyvin läheltä

      Pidän sinusta. Mutta mene ensin juttelemaan lääkärin luokse, ja hoida itsesi kuntoon. Sit kun sä olet kunnossa, niin mä
      Ikävä
      62
      958
    4. Ajatus aamuun

      Tämä jollekin tärkeälle. On asioita mistä jutellaan, on asioita mistä vitsaillaan, on myös asioita mistä ei puhuta kenen
      Ikävä
      71
      929
    5. Et voi olla loputtomasti hiljaa

      Nainen. Tarkoitan siis meidän juttua. Eihän tämä tällaiseen epätietoisuuteen voi jäädä siinä vaan särkyy kumpikin. Kerto
      Ikävä
      60
      908
    6. Nainen mitä tekisit

      Joutuisit tekemään miehelle ja sinulle tai sinulle ja miehellesi ja kahdelle lapselle ruokaa ja kaapista löytyy 2 litraa
      Sinkut
      158
      879
    7. Siis ei ole edes mahdollista

      että ei törmätä, ei sit millään vaikka päällä hyppisi
      Ikävä
      44
      840
    8. Martina kauniina lehtihaastattelussa

      Martina antoi hyväntuulisen haastattelun lehteen. Tyylikkäitä kuvia ja kivoja vaatteita kauniilla Martinalla.
      Kotimaiset julkkisjuorut
      182
      785
    9. J-miehelle

      haluan kertoa että olet edelleen mulle rakas. Ajattelen sinua päivittäin kulta.
      Ikävä
      58
      768
    10. Minä en luota sinuun yhtään nainen

      ja aistin että yrität taas satuttaa henkisesti koska tiedät että olet heikkouteni joten siksi tein mitä tein mutta en ki
      Ikävä
      34
      752
    Aihe