#!/usr/bin/perl # Universal handler script for Mozex # http://mozex.mozdev.org/ # Tomas Styblo , released under the GNU GPL use strict; use warnings; use URI; my %SCHEMES = ( "rlogin" => \&scheme_rlogin, "pop" => \&scheme_pop ); &main; sub scheme_rlogin { my ($url, $uparser) = @_; my $host = $uparser->host; # refer to the manual page of the URI module for more methods # do something } sub scheme_pop { my ($url, $uparser) = @_; # do something } sub main { my ($url) = @ARGV; defined $url or die "Missing argument (URL)."; my $uparser = new URI($url) or die "Invalid URL '$url'"; my $scheme = $uparser->scheme or die "Invalid URL '$url'"; if (exists $SCHEMES{$scheme}) { $SCHEMES{$scheme}($url, $uparser); } else { die "There is no handler for scheme '$scheme'."; } }