Cuestión : problema con subrutina externa

Estoy teniendo apuro usar una biblioteca o una subrutina externa de los “myutilities” (no sure que sean las más simples.  Esencialmente, estoy utilizando el Perl en ubuntu y tengo una escritura de “mymain.pl” y quiero esencialmente “procesar” otra escritura “load_vars.pl” que cargue un manojo de variables, después en “mymain.pl” quiero más adelante utilizar una subrutina externa en “myutilities.lib” o “myutilities.pl” (cualquiera es la más fácil).  No estoy buscando la reutilización de largo plazo o algo similar del código.  Apenas estoy mirando para conseguir este asap.
I nuevo al Perl, pero leveraging realmente todas las capacidades del regex.  Por favor darme una cierta dirección, he intentado “uso”, “requerir” el etc. y nada trabaja.  Estoy seguro que esto es absolutamente fácil.  Un ejemplo muy muy corto usar el siguiente es appreciated.

print “: Estoy en mymain.pl \ n”; />print “…  Estoy en ahora \ n de load_vars.pl”;
print del
… “usar utilidades…  Estoy en ahora \ n de los myutilities”; />print “: Estoy detrás en mymain.pl \ n”;

Thanks.
Chris
class= del

Respuesta : problema con subrutina externa

Si usted no quiere utilizar los “vars desaprobados del uso” usted puede pasar las variables a las rutinas secundarias en myutilities.pl, y en load_vars.pl, lo vuelve después de que él se asigne. En este caso, usted debe utilizar una rutina secundaria en 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
utilizar terminante;

mi ($a, $b, $c);
requerir “load_vars.pl”;
requerir “myutilities.pl”;
comienzo de la impresión “: Estoy en mymain.pl \ n \ n”;
($a, $b, $c) = &load_vars;
&myutilities ($a);
extremo de la impresión “: Estoy en mymain.pl \ mymain del NAND n que son las variables cargadas: \ na=$a \ nb=$b \ nc=$c \ n”;

load_vars.pl
¡#! /usr/bin/perl
utilizar terminante;

sub los load_vars {
  imprimir las “variables del cargamento…  Estoy en ahora \ n \ n de load_vars.pl”;
  mi $a = “manzana”;
  mi $b = “plátano”;
  mi $c = “cereza”;
  volver ($a, $b, $c);
}
1;

myutilities.pl
¡#! /usr/bin/perl
utilizar terminante;

sub los myutilities {
  mi ($a) = @_;
  impresión “usar utilidades…  Estoy en ahora \ n de los myutilities”.
  “y en myutilities a = $a \ n \ n”;
}
1;


Salida:
[~ root@dm1] # ./mymain.pl
comienzo: Estoy en mymain.pl

variables del cargamento…  Ahora estoy en load_vars.pl

usar utilidades…  Ahora estoy en myutilities
y en myutilities a = manzana

extremo: Estoy en mymain.pl
y el mymain de n las variables cargadas es:
a=apple
b=banana
c=cherry
Otras soluciones  
 
programming4us programming4us