CREATE OR REPLACE FUNCTION get(uri character varying) RETURNS json AS $BODY$ import urllib2 data = urllib2.urlopen(uri) return data.read() $BODY$ LANGUAGE plpython2u VOLATILE COST 100; #### CREATE OR REPLACE FUNCTION get(input_url character varying) RETURNS json AS $BODY$ use warnings; import LWP::Simple; my $url = input_url; my $content = get($url); $content =~ s/ /%20/g; return $content; $BODY$ LANGUAGE plperl VOLATILE COST 100; #### select get('ipinfo.io/ip'); ERROR: Undefined subroutine &main::get called at line 6. CONTEXT: PL/Perl function "get" ********** Error ********** ERROR: Undefined subroutine &main::get called at line 6. SQL state: 38000 Context: PL/Perl function "get"