#!/usr/bin/perl -lw use strict; use Getopt::Long; use SOAP::Lite; my $URL = ""; my $help = undef; GetOptions("help|h" => \$help); if ($help) { print "USAGE: url "; exit(1); } if(@ARGV == 1) { $URL = $ARGV[0]; # Do better URL-validation if(!($URL =~ /^(?:(?:http(?:s)?|ftp):\/\/)? # proto (?:[^\W_]+[\.-])+[a-z]{2,4}(?::\d+)*\b # host:port (?:\/[\w=\.\,\?\&\;\#\~\/\%\-\+]*)?$ # localpart /ix)) { print "Probably not kosher URL"; exit(1); } if(length($URL) < 28) { print "Bratt-error: This url will be longer using ShortURL."; exit(1); } } else { print "Wrong number of arguments. (url -h for help)"; exit(1); } my $urlID = SOAP::Lite -> service("http://kurl.no/ws/index.php?wsdl") -> lagURL($URL); print "Short URL: $urlID";