sub getWithStatus { my $url = shift; my $content; open my $RAM, '>', \$content; my $stdoutsaved = select; select *$RAM; my $status = getprint( $url ); select $stdoutsaved; close $RAM; return $status, $content; } ... my( $status, $content ) = getWithStatus( $url ); if( $status ne RC_OK ) { die "Get $url failed with HTTP status: $status"; } ...