my @urls = ( "file:///c:/html/testing.html?P1=123&P2=%28%28BLAH+BLAH+BLAH%29%29", "http://www.cnn.org/g/ar.shtml?c=123055&s=%28Top+Stories+%29", "http://www.something.com/example/article.php?P1=123&P2=%28%28DATA+GOES+HERE%29%29%0D%0A#PGTOP", ); use URI; for my $url (@urls) { my $u = URI->new($url); print "$u\n"; my @q = $u->query_form; print "\t\"$_\"\n" for @q; } __END__ file:///c:/html/testing.html?P1=123&P2=%28%28BLAH+BLAH+BLAH%29%29 "P1" "123" "P2" "((BLAH BLAH BLAH))" http://www.cnn.org/g/ar.shtml?c=123055&s=%28Top+Stories+%29 "c" "123055" "s" "(Top Stories )" http://www.something.com/example/article.php?P1=123&P2=%28%28DATA+GOES+HERE%29%29%0D%0A#PGTOP "P1" "123" "P2" "((DATA GOES HERE)) "