use warnings; use strict; my $return=&call(); print "Return value :$return"; sub innercall($) { print "I am called\n"; return 'gzip'; } sub call() { return +(innercall('test')||'') =~ /gzip/; } #### return +(innercall('test')||'') =~ /gzip/; #### return (innercall('test')||'') =~ /gzip/; #### return +($r->header_in('Accept-Encoding')||'') =~ /gzip/;