Redirecting to STOUT at the commandline is definitely the way to go. You may use "print STDOUT $foo" and "print STDERR $bar" to show stuff on the screen and redirect to a file.
#!/usr/bin/env perl
print STDOUT "this goes gets redirected";
print STDERR "this doesn't";
Note that STDERR may be redirected into STDOUT or into its own file using various methods provided by the shell.
I personally like Unix's "everything is a filter" approach where you can built the utilites so that they are made to be piped together. This includes accepting STDIN using diamond operator, "<>". Check out "Data Munging with Perl". It covers this approach very well.