[Perl] funcion system
Salvador Ortiz Garcia
sog en msg.com.mx
Jue Feb 2 16:23:04 CST 2006
On Thu, 2006-02-02 at 11:15 -0400, Ariel E. Pedrozo - Sysadmin wrote:
>
> Buenas Señores... como andan ??? espero que bien quiero hacerles una
> consultita.... como puedo pasarle a la funcion system 1 variable ???
>
> lo tengo asi...
>
> system('tar -cf backup-$(date +%d%m%y).tar');
>
> Si le pongo el directorio en duro, funciona.... pero yo quisiera
> colocarle una variable.... pero no me funciona !!!!
>
Cuál variable le estas queriendo pasar? No veo ahí ninguna variable de
perl.
Así como lo tienes, con comillas sencillas el tar debe de funcionar, el
problema esta en otro lado.
La expresión $(date +%d%m%y) es para que la evalúe tu bash.
Ahora que si te quieres ahorrar dos forks (shell y date) yo calcularía
la fecha desde perl con POSIX::strftime.
use POSIX qw(strftime);
...
my $date = strftime('%d%m%y',localtime(time));
system('/bin/tar', '-cf', "backup-${date}.tar");
Saludos.
--
Salvador Ortiz Garcia <sog en msg.com.mx>
Matías Software Group
Más información sobre la lista de distribución Perl