#!/usr/bin/perl use strict; use warnings; use diagnostics; use Math::Vector::Real; use 5.010; my $source = "./IN"; my $out = "./OUT"; open(IN, '<', $source) or die "Couldn't open $source: $!\n"; open(OUT, '>', $out) or die "Couldn't open $out: $!\n"; my @data = map [ split ], grep /\S/, ; say "data is @data"; print_aoa(\@data); for my $ref (@data) { my @vect = @$ref; say "vect is @vect"; my $vector = V(@vect); say "vector is @$vector"; my $u = $vector->versor; say "versor is @$u"; } close IN; close OUT; sub print_aoa{ use strict; use warnings; use 5.010; my $a = shift; my @AoA = @$a; for my $i ( 0 .. $#AoA ) { my $aref = $AoA[$i]; for my $j ( 0 .. $#{$aref} ) { print "elt $i $j is $AoA[$i][$j]\n"; } } return $a; }