#!/usr/bin/perl -w use strict; use File::stat; my $scp = "/usr/bin/scp"; my $host = "yoyo.org"; my $dir = "public_html/adservers/"; my $conffile = "/var/named/named.conf"; my $adserverlist = "/home/pgl/public_html/adservers/list.txt"; my $cf = stat($conffile) or die "Couldn't stat config file $conffile: $!\n"; my $ad = stat($adserverlist) or die "Couldn't stat ad server file $adserverlist: $!\n"; if ($cf->mtime > $ad->mtime) { my ($start, @zones); open CONF, "<$conffile"; while () { $start = 1 if /ad zones below/; next unless ($start && /^zone/); push @zones, (split '"')[1]; } open ADFILE, ">$adserverlist"; print ADFILE "$_\n" for sort @zones; close ADFILE; system ($scp, '-q', $adserverlist, "$host:$dir"); }