> ====================== > #!/usr/bin/perl > > use warnings; > use strict; > use File::Copy; > > my $valid_recpts = "/home/exchange/virtual.txt"; # original > file from exchange my $relay_recps = > "/home/exchange/relay_recipients"; # final file that will be > postmapped my $dos2unix = `/usr/bin/dos2unix $valid_recpts`; > # fix those pesky differences between dos en unix my > $postfix_relayrcpts = "/etc/postfix/relay_recipients.db"; # > final relay_recipients map my $relay_recpsdb = > "/home/exchange/relay_recipients.db"; # original relay_recipients map > > open(VALID,"< $valid_recpts") or die "$!\n"; open(RELAY,"> > $relay_recps") or die "$!\n"; > > while(<VALID>) { > next unless $_ =~ /^.*(smtp:)(.*\.nl)$/i; > print RELAY "$2\tOK\n"; > } > > close(VALID); > close(RELAY); > > chown exchangeuser, exchangeuser, $valid_recpts; # otherwise > exchange cannot overwrite it > > my $postmap = `/usr/sbin/postmap $relay_recps`; > > move($relay_recpsdb, $postfix_relayrcpts); > > ============================================ > For me this generates the error:
Bareword "exchange" not allowed while "strict subs" in use at ./parserelay line 23. Bareword "exchange" not allowed while "strict subs" in use at ./parserelay line 23. Execution of ./parserelay aborted due to compilation errors. TNT Post is the trading name for TNT Post UK Ltd (company number: 04417047), TNT Post (Doordrop Media) Ltd (00613278), TNT Post Scotland Ltd (05695897), TNT Post North Ltd (05701709), TNT Post South West Ltd (05983401), TNT Post Midlands Limited (6458167)and TNT Post London Limited (6493826). Emma's Diary and Lifecycle are trading names for Lifecycle Marketing (Mother and Baby) Ltd (02556692). All companies are registered in England and Wales; registered address: 1 Globeside Business Park, Fieldhouse Lane, Marlow, Buckinghamshire, SL7 1HY.