Y el s�bado 19 de enero, Hue-Bond escribi�: > $ cat test.pl > #!/usr/bin/perl > sleep (4); > $a=<STDIN>; > > $ ./test.pl & > [16] 8500 > $ # pulso enter > $ > $ > $ > $ > $ > > [16]+ Stopped ./test.pl > $ _ > > El shell detiene al script perl porque el uso de <> necesita un > "algo" que no s� bien lo que es. Lo que quiero es saber c�mo puedo > leer una l�nea de un descriptor de archivo sin que el shell me > suspenda mi script. Adicionalmente me gustar�a que la funci�n fuera
Si lo que quieres es leer un archivo abrelo y l�elo de esta manera:
open FILE, $filename or die "No puedor. Jooorl. $!";
while (<FILE>){
# La linea leida se encuentra en la variable autom�tica $_
print "He leido: $_";
}
close FILE;
De esta manera tambi�n podr�s leer de la entrada estandar con
a$ = <STDIN>;
como estabas haciendo.
> bloqueante, o sea que la ejecuci�n del programa al llegar a ese
> punto se detuviera esperando al usuario. read() y sysread() no me
> valen porque no leen una l�nea y adem�s si no hay datos que leer,
> la ejecuci�n del script contin�a como si nada. �C�mo hago?
>
De todas maneras si lo que quieres es hacer un programa interactivo te
recomendar�a que usaras otras posibilidades (Perl/Tk es lo que yo uso,
pero tambi�n te valdr�an Perl/Gtk o con *curses*.
Espero haberte ayudado.
Saludos
--
Luis Arocha "Data" <[EMAIL PROTECTED]> o
Canary Islands, Spain /| \O__@
____ O _________________ //|_____________ | _______
O / |\-@ /// // / O
/\ / \\ |// \\ / /\
__>_oo/_______//________________|/_________________________/___o<___
Linux yoda 2.4.17 i686
Oir a todos, creer a pocos.
pgp1JnNTGYHAT.pgp
Description: PGP signature

