我需要将输入文件的行拆分为其列。
($ATOM, $atom_num, $atom_type, $res, $chain, $res_num) = split(" ", $pdb)
我的代码工作正常,只要第6列<1000或短于4位:
LD_PRELOAD
然而,只要第6列达到1000,它就不再区分这两列。我不是perl的专家,但我正在处理的代码是perl,所以我需要弄清楚如何拆分它,例如按每列的位数。 有什么建议吗?
答案 0 :(得分:4)
我通过使用unpack并定义每列的长度来解决它。 $ format =&#39; A6 A6 A5 A4 A1 A5&#39 ;; ($ ATOM,$ atom_num,$ atom_type,$ res,$ chain,$ res_num)= unpack($ format,$ pdb);