URLが指定したホストのものかチェックする
とりあえずホストだけチェックできればいいかな、と。
#! /usr/bin/perl -w use strict; use warnings; my @valid_hosts = ( "hoge.com", "fuga.co.jp" ); sub validate { my($url) = @_; my $ret = -1; foreach my $vhost (@valid_hosts) { if ($url =~ /^s?https?:\/\/(?:[^\/\.]+\.)?$vhost(?::\d+)?(?:|\/.*)$/) { $ret = 0; } } return $ret; }
簡単なテスト用URLを食わせてみるとなんとなく上手く動いてるようす。