Jon Ericson wrote:
>
> I would want it to return @items:
>
> @sorted = sort print @items;
>
> I'd prefer a different name (tee?) and keep print as it is.
Pretty much all the stuff being discussed right now can be stuck in a
module:
package Print::Variations;
use Exporter;
@EXPORT = qw(printl println printj);
sub printl {
# return list as-is
print(@_) ? return @_ : return undef;
}
sub printj {
# return joined string
my $str = join '', @_;
print(@_) ? return $str : return undef;
}
sub println {
# add a newline and return T/F
print(@_, "\n");
}
#! perl -w
use Print::Variations;
# Make Bart and me happy
$formatted = printj $r->param('name'), " is $age years old.\n";
# Make Jon happy
@sorted = sort { $a <=> $b } printl "@items\n";
# Make the Pascal lovers happy
println "Hello, World!";
Is all this stuff cool? Maybe. Does it belong in core? Definitely not.
Is it important enough to warrant special operators? I remain
unconvinced.
Granted, these functions can't handle different filehandles, etc, but if
some of the RFC's get included that attempt to fix this it should be
trivial.
-Nate