open DATA , "<", "path-to-file"; my @pcodes; while (my $line = ){ my ($addr,$state,$pc) = $line =~ /([^,]+),([^,]+),([^,]+)/; ## Not a valid data line? Then move on. defined $pc or next; push @pcodes, $pc; } ## Do stuff with @pcodes close DATA;