You could use the string form of eval to call it: use strict; my $nameOfSub = "foo"; my $args = "hello world!"; my $subCall = "\&$nameOfSub"; eval "$subCall('$args')"; >> Ken Clarke >> Contract Web Programmer / E-commerce Technologist >> www.PerlProgrammer.net