It's hard for me to tell what your problem might be, since the code you posted looks incomplete. I highly recommend using the following at the top of your script.
use strict;
use warnings;
The warning or errors you get will give you clues how to fix your code.
Here is working code for printing out the first three columns of a test.csv file.
#!/usr/bin/env perl
use strict;
use warnings;
use Text::CSV;
my @c1 = column_segregation(0);
print join(", ", @c1), "\n";
my @c2 = column_segregation(1);
print join(", ", @c2), "\n";
my @c3 = column_segregation(2);
print join(", ", @c3), "\n";
exit;
sub column_segregation
{
my $o = $_[0];
my @array_A2;
my $csv = Text::CSV->new ({ binary => 1 });
open (my $io, "<", "test.csv") or die "Could not open test.csv";
while (my $row = $csv->getline($io)) {
push @array_A2, $row->[$o];
}
return (@array_A2);
}