next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Pipes Sup: Gestión de Procesos Ant: Variables de entorno Err: Si hallas una errata ...

Uso de comillas de ejecución

Cuando se quiere capturar la salida de un programa utilizaremos las comillas hacia atrás (backquotes):
1 #!/usr/local/bin/perl5.8.0 -w
2
3 my $who = shift;
4 my $options = shift;
5 my $users = `who $options`;
6
7 until ($users =~ m/$who/)
8   { $users = `who $options`; }
9
10 print $users;
Como muestra el ejemplo, la cadena entre backquotes se interpola igual que una cadena de comillas dobles.

Si se usan las backquotes en un contexto de lista se obtiene una lista cuyos elementos son las líneas de salida el programa. Ya vimos un ejemplo en la sección 1.7.16. Lo repetimos aquí:

#!/usr/bin/perl -w
my @user =  `cat /etc/passwd`; 
my (@name, @uid);
my $x;

for ($i=0; $i < @user; $i++) {
  ($name[$i], $x, $uid[$i]) = split ':', $user[$i];
}

@name = @name[
  sort {$uid[$a] <=> $uid[$b]} 0..$#name
];

print "@name\n";


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Pipes Sup: Gestión de Procesos Ant: Variables de entorno Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21