sub f {
    if (!defined wantarray) {
        print "called in void context\n";
    }
    elsif (wantarray) {
        print "called in array/list context\n";
    }
    else {
        print "called in scalar context\n";
    }
}

f();  #prints: called in void context
@x = f(); #prints: called in array/list context
$x = f(); #prints: called in scalar context
