#!/exlibris/sfx_ver/sfx_version_3/app/perl-5.8.6/bin/per
use strict;
use warnings;
# Takes export file from SFX and generates host definitions to append to
# the ezproxy.cfg file.
# Open SFX export file for manipulation
my $sfx_url_file = shift @ARGV;
open (my $fh_sfx, '<', $sfx_url_file) or die "File Open Failed: $!";
# get hostnames into a hash
my %hostnames;
while (<$fh_sfx>) {
my $line = $_;
next if $line =~ /^#/;
my ($sfx_target, $sfx_url) = split /\t/, $line;
if ($sfx_url =~ m/\:\/\/(.*?)\//) {
# Hash keys are always unique, so if a key for $1
# already exists, this line will clobber its value:
$hostnames{$1} = undef;
# If you want to keep track of how many times each
# hostname appears, you can use this magic:
# $hostnames{$1}++;
# More verbose version of the code above:
# if (!(exists $hostnames{$1})) {
# $hostnames{$1} = 0;
# }
# $hostnames{$1} = $hostnames{$1} + 1;
}
}
# print each unique hash key, with some added text
for my $hostname (keys %hostnames)
{
print "HJ $hostname\n";
}
# close file handle
close $fh_sfx or die "File Close Failed: $!";