How could I change the array reference to each field value?
As I understand it, the array reference already references each field's value. You need to pass these values to V(). Maybe something like (untested):
sub vector {
my ($aa) = @_;
return V(@$aa);
}
Again, I haven't studied the relevant module.
As you can see, most of the function defined above is irrelevant. Why not just (also untested):
my $some_scalar = V(@$original_array_reference);
instead?
Update: After actually looking at Math::Vector::Real, it seems that V() returns a blessed reference of some kind (update: you also reference | make note of this below), not a floating point number as implied by the %f format specifier in the OPed printf statement. You will have to manipulate this V object into some form of data usable to you, which I cannot judge.
Give a man a fish: <%-(-(-(-<
|