in reply to output to STDOUT or a file

I'm confused about this line:

if (shift)

What are you shifting off? Or is it just a general "put a condition here" line? Also, how does this benefit over:

my $fh; if(my $filename = shift) { open $fh, '>', $filename or die "Can't open $filename: $!"; } else { open $fh, '>&', STDOUT; } print $fh "Where do you want to go today?\n";
print pack("A25",pack("V*",map{1919242272+$_}(34481450,-49737472,6228,0,-285028276,6979,-1380265972)))