Pergunta : problema com sub-rotina externa

Eu estou tendo o problema using uma biblioteca ou uma sub-rotina externa dos “myutilities” (não sure que sejam as mais simples.  Essencialmente, eu estou usando o Perl no ubuntu e eu tenho um certificado de “mymain.pl” e eu quero “processar essencialmente” um outro certificado “load_vars.pl” que carregue um grupo das variáveis, a seguir mais tarde em “mymain.pl” eu quero usar uma sub-rotina externa em “myutilities.lib” ou em “myutilities.pl” (qualquer é o mais fácil).  Eu não estou procurando reusar a longo prazo ou qualquer outra coisa semelhante do código.  Eu apenas estou olhando para começ este asap.
I am novo ao Perl, mas eu leveraging realmente todas as capacidades do regex.  Dar-me por favor alguma orientação, eu tentei o “uso”, “exigir” etc. e nada trabalha.  Eu sou certo que este é completamente fácil.  Um exemplo muito muito curto using o seguinte é appreciated.

print “: Eu estou em mymain.pl \ n”; />print do “…  Eu estou em agora de load_vars.pl \ n”;
print do
… “using utilidades…  Eu estou em agora dos myutilities \ n”; />print “: Eu estou para trás em mymain.pl \ n”;

Thanks.
Chris
class= do

Resposta : problema com sub-rotina externa

Se você não quer usar do “os vars deprecados uso” você pode passar as variáveis às rotinas secundárias em myutilities.pl, e em load_vars.pl, retorna-o depois que é atribuído. Neste caso, você deve usar uma rotina secundária em load_vars.pl
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
mymain.pl
#! /usr/bin/perl
usar estrito;

meu ($a, $b, $c);
exigir “load_vars.pl”;
exigir “myutilities.pl”;
começo da cópia “: Eu estou em mymain.pl \ n \ n”;
($a, $b, $c) = &load_vars;
&myutilities ($a);
extremidade da cópia “: Eu estou em mymain.pl \ mymain que do nand n as variáveis carregadas são: \ na=$a \ nb=$b \ nc=$c \ n”;

load_vars.pl
#! /usr/bin/perl
usar estrito;

sub load_vars {
  imprimir do “variáveis carregamento…  Eu estou em agora de load_vars.pl \ n \ n”;
  meu $a = “maçã”;
  meu $b = “banana”;
  meu $c = “cereja”;
  retornar ($a, $b, $c);
}
1;

myutilities.pl
#! /usr/bin/perl
usar estrito;

sub myutilities {
  meu ($a) = @_;
  cópia “using utilidades…  Eu estou em agora dos myutilities \ n”.
  “e nos myutilities a = $a \ n \ n”;
}
1;


Saída:
[~ root@dm1] # ./mymain.pl
começo: Eu estou em mymain.pl

variáveis do carregamento…  Eu estou em load_vars.pl agora

using utilidades…  Eu estou nos myutilities agora
e nos myutilities a = maçã

extremidade: Eu estou em mymain.pl
e o mymain de n as variáveis carregadas é:
a=apple
b=banana
c=cherry
Outras soluções  
 
programming4us programming4us