• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

JoaoRodrigues

Código Perl -- Explicação

2 mensagens neste tópico

else {
$tool = shift unless defined $tool;
$inputs = @ARGV;
print @ARGV;
print "$tool: $inputs inputs\n";
$params{tool} = $tool;
my (@contents) = ();
for $input (@ARGV) {
	push @contents, check_input($input);
}
foreach $param ( keys %params ) {
	if ( -r $params{$param} ) {
		push @contents,
		  { type => $param, content => read_file( $params{$param} ) };
		delete $params{$param};
	}
}
my $jobid;
my $paramsData  = SOAP::Data->name('params')->type( map => \%params );
my $contentData = SOAP::Data->name('content')->value( \@contents );

Alguém me explica exactamente como este código funciona? À partida recebe um set de parâmetros do utilizador, passados pela command line quando se corre o script, mas depois as linhas que me preocupam são as duas últimas, dos paramsData e do contentData. Alguém consegue elaborar sobre essas duas? Tipos de dados, que dados vão para lá (não entendo aquel if com o push lá no meio), entre outros..

Thanks :D O código completo está aqui

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
as linhas que me preocupam são as duas últimas, dos paramsData e do contentData. Alguém consegue elaborar sobre essas duas?

SOAP::Data

$ perldoc SOAP::Data

(não entendo aquel if com o push lá no meio)

Se se verificar a condição (se é readable), adiciona a hash { type => $param, content => read_file( $params{$param} ) }; ao array @contents

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora