Я хочу извлечь деталь поля из файла CSV (830k записи) и хранилище в хеш. Есть ли какой-либо быстрый и простой способ сделать в Perl с использованием каких-либо внешних методов?
Как я могу достигнуть этого?
Используйте Text :: CSV_XS . Он быстрый, в меру гибкий и очень хорошо протестирован. Ответ на многие из этих вопросов есть на CPAN. Зачем тратить время на создание чего-то не такого хорошего, как то, что многие люди уже усовершенствовали и протестировали?
Если вы не хотите использовать внешние модули, что является глупым возражением, посмотрите на код в Text :: CSV_XS и сделайте это. Меня постоянно удивляет, что люди думают, что даже если они думают, что не могут использовать модуль, они не будут использовать известное и проверенное решение в качестве примера кода для той же задачи.
при нормальном CSV (т.е. без встроенных запятых), чтобы получить второе поле, например
$ perl -F"," -lane 'print $F[1];' file
См. также этот фрагмент кода, взятый из The Perl Cookbook, который сам по себе является отличной книгой для Perl-решений распространенных проблем