Bienvenido a los foros de Perl en Español, trujin.
Si dices que tienes que poner './' delante del programa, eso es que le estás indicando al
shell dónde se encuentra tu programa, debido a que no ha podido encontrarlo consultando la variable de entorno $PATH (suponemos que estás en Linux/Unix).
Puedes:
* Mover el programa a un directorio indicado por $PATH
* Modificar la variable $PATH en alguno de los
scripts de arranque (por ejemplo .bashrc) para que busque en el directorio donde reside el programa. Lo tradicional es que en el .bashrc o en el .profile del usuario o del sistema se agregue la dirección
~/bin, indicando que una posible localización del programa sea el directorio bin del usuario. Otra opción (NO RECOMENDABLE SI ERES
root DEL SISTEMA) es agregar la dirección '.', que se refiere a 'el directorio actual'. Por ejemplo:
export PATH=.:$PATH Con esto, le indicamos al
shell que el primer sitio donde debe mirar en la búsqueda del programa es en el mismo directorio donde te encuentras. Esto es lo más cómodo (pero también lo más peligroso si eres
root).
* Ejecutar el programa indicando todo el camino: /home/trujin/desarrollo/perl/programa.pl
Naturalmente, también le has dado permisos de ejecución, para no tener que anteponer el intérprete 'perl' delante. Y en la primera línea del programa, poner la línea el
shebang.
Más información en
perlrun.
En cuanto a la pregunta de crear una matriz vacía... no creo que tenga mucho sentido, en Perl...
Puedes hacer esto:
Using perl Syntax Highlighting
use Data
::Dumper;
my @tabla = (
[ '', '' ],
[ '', '' ],
);
print Dumper
\@tabla;Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Sale:
- Código: Seleccionar todo
$VAR1 = [
[
'',
''
],
[
'',
''
]
];
pero ya te digo que no hace falta...
Por ejemplo, podríamos hacer un programa así:
Using perl Syntax Highlighting
#!/usr/bin/perl
$tabla[1][0] = "Hola";Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
y es perfectamente legal: Perl crea la variable @tabla de forma automática.
¿Por qué lo necesitas?