miten saan kutsuttua aliohjelmaa muuttujan avulla :
$muuttuja = "auto";
$vastaus = &sub::$muuttuja('lada');
ei toimi, mutta :
$vastaus = &sub::auto('lada');
toimii kuten pitääkin.
aliohjelma kutsuminen muuttujalla
3
1032
Vastaukset
- 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
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 oikeesti621735SINÄ 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ä681064- 451035
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. Kerto63980Ajatus aamuun
Tämä jollekin tärkeälle. On asioita mistä jutellaan, on asioita mistä vitsaillaan, on myös asioita mistä ei puhuta kenen71939Nainen mitä tekisit
Joutuisit tekemään miehelle ja sinulle tai sinulle ja miehellesi ja kahdelle lapselle ruokaa ja kaapista löytyy 2 litraa158909- 44860
Martina kauniina lehtihaastattelussa
Martina antoi hyväntuulisen haastattelun lehteen. Tyylikkäitä kuvia ja kivoja vaatteita kauniilla Martinalla.182815- 58798
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 ki34762