#!/usr/bin/perl &tryLocal("name=james&color=red&age=12"); exit; #################### sub tryLocal{ local $in = $_[0]; @in = split(/\&/,$in); foreach $li(@in){ ($lname,$lvalue)=split(/\=/,$li); local $$lname = $lvalue; } }################# end tryLocal #### #!/usr/bin/perl use strict; use warnings; sub tryLocal{ my $param_str=shift; my @pairs= split(/\&/,$param_str); my %params; foreach my $pair (@pairs) { my ($key,$value)= =split(/\=/,$pair); $params{$key}=$value; } return %params } my %params=tryLocal("name=james&color=red&age=12"); #### @in=qw(foo bar baz); tryLocal("name=james&color=red&age=12"); print "$name : @in\n";