[Perl] Porque no corre

Salvador Ortiz Garcia sog@msg.com.mx
Mon, 7 Jan 2002 14:28:21 -0600 (CST)


On Sat, 5 Jan 2002, Jose Antonio Galicia wrote:

> On Fri, 4 Jan 2002, Benjamin Huitr=F3n Solar wrote:
>=20
> > $Terminal=3D`tty | cut -c6-11`;
> > $UserShell=3D`ps -Af | grep -v root | cut -c1-8| grep $Terminal `;
> > printf "Hola tu terminal es $Terminal y tu eres $UserShell";
> >
> >
> > Ejecutandolo desde el shell pongo lo pongo asi:
> > ps -Af | grep pts/9 | grep -v root  | cut -c1-8
>=20
>  =BFY si lo ejecutas igual en perl?
>=20
> =09#!/usr/bin/perl
> =09chomp($a=3D`tty`);
> =09$a =3D~ s|^/dev/||;
> =09chomp($b=3D`ps -Af | grep $a | grep -v root | cut -c1-8`);
> =09print ".$b.\n";'
>=20
>  primero el grep a lo que buscas y despues eliminas lo que
> no necesitas.

Y por que tanto brinco estando el suelo tan parejo?

Es decir, para obtener dos datos est=E1s lanzando siete procesos extras,
cuando los tienes a dos llamadas de distancia:


   #!/usr/bin/perl -w
   use POSIX ();
   $user =3D getpwuid($>);
   $terminal =3D POSIX::ttyname(STDIN);
   print "Eres $user en $terminal\n";
=20

Saludos

Salvador Ortiz

--=20
El conocimiento inclu=EDdo es totalmente regalado y como Linux, libre.
--------------------------------------------------------------------------