将一条线分成它的组件

时间:2017-12-19 12:11:09

标签: perl split

我需要将输入文件的行拆分为其列。

($ATOM, $atom_num, $atom_type, $res, $chain, $res_num) = split(" ", $pdb)

我的代码工作正常,只要第6列<1000或短于4位:

LD_PRELOAD

然而,只要第6列达到1000,它就不再区分这两列。我不是perl的专家,但我正在处理的代码是perl,所以我需要弄清楚如何拆分它,例如按每列的位数。 有什么建议吗?

1 个答案:

答案 0 :(得分:4)

我通过使用unpack并定义每列的长度来解决它。 $ format =&#39; A6 A6 A5 A4 A1 A5&#39 ;; ($ ATOM,$ atom_num,$ atom_type,$ res,$ chain,$ res_num)= unpack($ format,$ pdb);