in reply to problem with split command

The problem is you're actually declaring your array variable as "@1" (that's a "one"). Variable names can't start with a numeral. Here's your script, cleaned up a bit (remember to use warnings and stricture, use "or" where you can instead of "||", and you might want to try lexical (scalar) filehandles). This version actually compiles, but I don't know what you want it to do
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; use PDL; use PDL::Matrix; my $file = $ARGV[0]; #open(DATA, "<", $file) #or die "Error: Unable to open $file:$!\n"; my $d = [[],[], [], []]; while ( <DATA> ) { chomp; my @l = split(/,/); push @{$d->[0]}, $l[0]; push @{$d->[1]}, $l[1]; push @{$d->[2]}, $l[2]; push @{$d->[3]}, $l[3]; } $d = PDL::Matrix->pdl($d); __DATA__ -0.821,-0.247,0.001,-0.77 -1.045,-0.289,0.035,-0.962 -1.345,-0.345,0.048,-1.188 -1.674,-0.421,0.041,-1.428

davis
Kids, you tried your hardest, and you failed miserably. The lesson is: Never try.