[bcn-pm] Problemilla con script

José Luis Pérez Diez jluis at escomposlinux.org
Fri Feb 11 00:48:08 PST 2005


On Dijous 10 Febrer 2005 15:26, TooManySecrets wrote:
> Buenas.
>
> Ante todo me gustaría que supieseis que mis conocimientos "perleros" son
> nimios, ínfimos y sumamente humildes (más si lo comparamos con el
> nivelito que hay por aquí).
> Vereis, tengo un pequeño problemilla con un script perl que debe
> realizar una automatización en un servidor. ....
> ..... . Aquí teneis los mensajes de
> error:
>
> Global symbol "$FreeBSD" requires explicit package name
> at ./montaweb_ver2.pl line 180.
> Global symbol "$command" requires explicit package name
> at ./montaweb_ver2.pl line 180.
> Global symbol "$required_files" requires explicit package name
> at ./montaweb_ver2.pl line 180.
> Global symbol "$command" requires explicit package name
> at ./montaweb_ver2.pl line 235.
> Global symbol "$required_files" requires explicit package name
> at ./montaweb_ver2.pl line 235.

Esto nombres deven estar declarados en el programa o en algun use y te pide 
que los identifiques .

>
> Y aquí la parte a que se refiere cuando indica la línea 180:
>
> sub generarrcftp
> {
>     my $fich = "/usr/local/etc/rc.d/$datos{presence}_ftp.sh";
>     open (FILE, ">$fich")
>         || die "Imposible crear fichero rc de arranque de ftp
> ($fich).\n";
>     print FILE <<EOF;

El texto que sige se interpreta como puesto en comillas dobles  y te intenta 
expandir las variables 

tendria que ser  print FILE <<'EOF' para que no te intente iprimir las 
variables haz la prueba siguente por si no me esplico bien
my $comillas = "Dobles";
print "Comillas $comillas\n";
print <<EOF;
# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh,v 1.1 2003/11/03 19:40:38 mharo 
Exp $
required_files="/usr/local/etc/$datos{presence}_ftp.conf"
case $1 in
    ${command} -c ${required_files}
    kill `cat /var/ftp/presence/"$datos
   echo "Uso: `basename $0` {start|stop}" >&2
EOF
print 'Comillas $comillas'."\n";
print <<'EOF';
# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh,v 1.1 2003/11/03 19:40:38 mharo 
Exp $
required_files="/usr/local/etc/$datos{presence}_ftp.conf"
case $1 in
    ${command} -c ${required_files}
    kill `cat /var/ftp/presence/"$datos
   echo "Uso: `basename $0` {start|stop}" >&2
EOF




More information about the Barcelona-pm mailing list