sub thinger{ return unless $_[0]; my @array; if((scalar @_) == 1){ return $_[0] unless ref($_[0]); @array = @{$_[0]}; } else{ @array = @_; } # Do something important sleep 30000; return wantarray ? @array : \@array; }