Revision: 283
Updated Code
at July 9, 2006 21:11 by kkindoh
Updated Code
## Define three types printers: 1.Pipe to less, 2.Output to a file 3.Just print
##
##
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
return $pout->print( $line ) if defined $line;
$pout->close(); # undef to close
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
return $fout->print( $line ) if defined $line;
$fout->close(); # undef to close
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line if defined $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
## my $printer= getFilePrinter( "output.txt");
## or
## my $printer= getNoLessPrinter();
## or
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( undef ); # to close the stream if needed.
Revision: 282
Updated Code
at July 9, 2006 21:10 by kkindoh
Updated Code
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
return $pout->print( $line ) if defined $line;
$pout->close(); # undef to close
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
return $fout->print( $line ) if defined $line;
$fout->close(); # undef to close
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line if defined $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
## my $printer= getFilePrinter( "output.txt");
## or
## my $printer= getNoLessPrinter();
## or
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( undef ); # to close the stream if needed.
Revision: 281
Updated Code
at July 9, 2006 21:09 by kkindoh
Updated Code
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
return $pout->print( $line ) if defined $line;
$pout->close(); # undef to close
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
return $fout->print( $line ) if defined $line;
$fout->close(); # undef to close
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line if defined $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
## my $printer= getFilePrinter( "output.txt");
## or
## my $printer= getNoLessPrinter();
## or
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( undef ); # to close the stream if needed.
Revision: 280
Updated Code
at July 9, 2006 21:09 by kkindoh
Updated Code
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
return $pout->print( $line ) if defined $line;
$pout->close(); # undef to close
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
return $fout->print( $line ) if defined $line;
$fout->close(); # undef to close
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line if defined $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
## my $printer= getFilePrinter( "output.txt");
## or
## my $printer= getNoLessPrinter();
## or
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( undef ); # to close the stream if needed.
Revision: 279
Updated Code
at July 9, 2006 12:54 by kkindoh
Updated Code
sub Line::getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
return $pout->print( $line ) if defined $line;
$pout->close(); # undef to close
} # closure
} # Line::getLessPrinter
sub Line::getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
return $fout->print( $line ) if defined $line;
$fout->close(); # undef to close
} # closure
} # Line::getFilePrinter
sub Line::getNoLessPrinter {
return sub { my $line= shift;
print $line if defined $line;
} # closure
} # Line::getNoLessPrinter
## Then select one of the printer
##
## my $printer= getFilePrinter( "output.txt");
## or
## my $printer= getNoLessPrinter();
## or
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( undef ); # to close the stream if needed.
Revision: 278
Updated Code
at July 8, 2006 13:28 by kkindoh
Updated Code
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
$pout->print( $line );
$pout->close() if $line =~ / BOTTOM /;
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> $file" ) or croak "Failed to create file: $file: $!\n";
return sub { my $line= shift;
$fout->print( $line );
$fout->close() if $line =~ / BOTTOM /;
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( "BOTTOM\n"); # print it and close it.
Revision: 277
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 8, 2006 12:59 by kkindoh
Initial Code
sub getLessPrinter {
my $pout= IO::File->new( "| less" ) or croak "Failed to create less pipe\n";
return sub { my $line= shift;
$pout->print( $line );
$pout->close() if $line =~ / BOTTOM /;
} # closure
} # getLessPrinter
sub getFilePrinter {
my $file= shift;
my $fout= IO::File->new( "> ". Line::output() ) or croak "Failed to create file:". Line::output() .": $!\n";
return sub { my $line= shift;
$fout->print( $line );
$fout->close() if $line =~ / BOTTOM /;
} # closure
} # getFilePrinter
sub getNoLessPrinter {
return sub { my $line= shift;
print $line;
} # closure
} # getNoLessPrinter
## Then select one of the printer
##
my $printer= getLessPrinter();
$printer->( "Something to print.\n");
$printer->( "BOTTOM\n"); # print it and close it.
Initial URL
Initial Description
Initial Title
Closure to change output
Initial Tags
Initial Language
Perl