If you need to parse, write, change and manipulate PDB files you should probably make an effort and consider bioperl. This code is untested and positively wrong, (the docs of BIO::Structure are starting to bite me like a goliath tiger fish), but you can start playing with this..
use strict; use warnings;
use Bio::Structure::IO;
#use Data::Dumper;
my $in = Bio::Structure::IO->new(-file => "myfile.pdb",
-format => 'PDB');
while ( my $struc = $in->next_structure() ){
print "Structure: ", $struc->id;
for my $model ($struc->get_models){
print "model: ", $model->id;
for my $chain ($struc->get_chains) {
if($chain->id eq "A"){
print "we have an A!";
foreach my $res ($struc->get_residues($chain)){
print "Yeah, Honestly, I don't know what I'm doing here";
foreach my $atom ($struc->get_atoms($res)){
print "This is the ATOM ",$atom->id;}
}
}
last;
}
last;
}}
mmmh, or maybe use Chemistry::File::PDB?