# fully qualified open call: open my $orgdb , '<' , $database or die "$database open error: $!"; my @odb = map { chomp; [ split /\|/,$_ ] } <$orgdb>; close $orgdb; for( sort { $a->[1] cmp $b->[1] } @odb ){ printf "A: %s B(sorted): %s C: %s\n",@$_ }