in reply to Re: Parsing Zonefiles
in thread Parsing Zonefiles
Hi Elijah_A:
I believe the problem might be your source file. Are you sure it is a real BIND zone? Your example does not have a SOA record, which might be ok for your scenario.
On my side, the code below (slight modification of yours)...
#!/usr/bin/perl use strict; use warnings; use Net::DNS; use Net::DNS::ZoneFile; my $rrset = Net::DNS::ZoneFile->readfh(*DATA); print "Just read:\n"; print $_->string, "\n" for @$rrset; push @$rrset, new Net::DNS::RR "3 7200 IN PTR gov.ph."; foreach (@$rrset) { next unless $_->type eq 'SOA' and $_->class eq 'IN'; $_->serial($_->serial + 1); } print "After adding one to the SOA's serial:\n"; print $_->string, "\n" for @$rrset; __DATA__ ; Sta. Magdalena, Sorsogon ; Created by GovPh: Fri Aug 6 13:02:54 2004 stamagdalena IN NS ncc.xx.gov.ph IN NS ncc.xx.gov.ph
Produces the following output...
Just read: stamagdalena. 0 IN NS ncc.xx.gov.ph. stamagdalena. 0 IN NS ncc.xx.gov.ph. After adding one to the SOA's serial: stamagdalena. 0 IN NS ncc.xx.gov.ph. stamagdalena. 0 IN NS ncc.xx.gov.ph. 3. 7200 IN PTR gov.ph.
I would check the source file for extraneous characters. For the record, this is what I'm running on my side:
$ perl -MNet::DNS::ZoneFile -e 'print $Net::DNS::ZoneFile::VERSION, "\n"' 1.10 $ perl -v | egrep darwin This is perl, v5.8.1 built for darwin
Best regards
-lem, but some call me fokat
In Section
Seekers of Perl Wisdom