I have a function that takes a fairly complex set of arguments, and am wondering if there is a better way of doing this than the way I have done. A call to the function, as I have it, looks like:
$network->potentiateWeights('network',1,(0,0,0, 1,2,3, 3,2,2)); where the list at the end is actually a set of 3 triples. To make it clearer, the function turns those parameters into the following XML (which is pretty much its job): <PotentiateWeights change="1" net="network"> <Weight src="0" dest="0" layer="0" /> <Weight src="1" dest="2" layer="3" /> <Weight src="3" dest="2" layer="2" /> </PotentiateWeights> The arguments are processed using: sub potentiateWeights { my $self = shift; # for the OO-ness my $net = shift; my $delta = shift; my (@src, @dest, @layer); while (@_) { push @src, shift; push @dest, shift; push @layer, shift; } Now, this works quite well, but doesn't seem all that right. I'd like to know how someone who had been using the language more than I would handle this situation. In particular, there is no way (excluding runtime checking) to ensure that there are the appropriate number of triples in the list. Thoughts? cheers, -- Robin <[EMAIL PROTECTED]> JabberID: <[EMAIL PROTECTED]> Hostes alienigeni me abduxerunt. Qui annus est? PGP Key 0x776DB663 Fingerprint=DD10 5C62 1E29 A385 9866 0853 CD38 E07A 776D B663
pgp00000.pgp
Description: PGP signature