Initial Commit
This commit is contained in:
105
database/perl/lib/Pod/Simple/TiedOutFH.pm
Normal file
105
database/perl/lib/Pod/Simple/TiedOutFH.pm
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
use strict;
|
||||
package Pod::Simple::TiedOutFH;
|
||||
use Symbol ('gensym');
|
||||
use Carp ();
|
||||
use vars qw($VERSION );
|
||||
$VERSION = '3.42';
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
sub handle_on { # some horrible frightening things are encapsulated in here
|
||||
my $class = shift;
|
||||
$class = ref($class) || $class;
|
||||
|
||||
Carp::croak "Usage: ${class}->handle_on(\$somescalar)" unless @_;
|
||||
|
||||
my $x = (defined($_[0]) and ref($_[0]))
|
||||
? $_[0]
|
||||
: ( \( $_[0] ) )[0]
|
||||
;
|
||||
$$x = '' unless defined $$x;
|
||||
|
||||
#Pod::Simple::DEBUG and print STDERR "New $class handle on $x = \"$$x\"\n";
|
||||
|
||||
my $new = gensym();
|
||||
tie *$new, $class, $x;
|
||||
return $new;
|
||||
}
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
sub TIEHANDLE { # Ties to just a scalar ref
|
||||
my($class, $scalar_ref) = @_;
|
||||
$$scalar_ref = '' unless defined $$scalar_ref;
|
||||
return bless \$scalar_ref, ref($class) || $class;
|
||||
}
|
||||
|
||||
sub PRINT {
|
||||
my $it = shift;
|
||||
foreach my $x (@_) { $$$it .= $x }
|
||||
|
||||
#Pod::Simple::DEBUG > 10 and print STDERR " appended to $$it = \"$$$it\"\n";
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub FETCH {
|
||||
return ${$_[0]};
|
||||
}
|
||||
|
||||
sub PRINTF {
|
||||
my $it = shift;
|
||||
my $format = shift;
|
||||
$$$it .= sprintf $format, @_;
|
||||
return 1;
|
||||
}
|
||||
|
||||
sub FILENO { ${ $_[0] } + 100 } # just to produce SOME number
|
||||
|
||||
sub CLOSE { 1 }
|
||||
|
||||
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
1;
|
||||
__END__
|
||||
|
||||
Chole
|
||||
|
||||
* 1 large red onion
|
||||
* 2 tomatillos
|
||||
* 4 or 5 roma tomatoes (optionally with the pulp discarded)
|
||||
* 1 tablespoons chopped ginger root (or more, to taste)
|
||||
* 2 tablespoons canola oil (or vegetable oil)
|
||||
|
||||
* 1 tablespoon garam masala
|
||||
* 1/2 teaspoon red chili powder, or to taste
|
||||
* Salt, to taste (probably quite a bit)
|
||||
* 2 (15-ounce) cans chick peas or garbanzo beans, drained and rinsed
|
||||
* juice of one smallish lime
|
||||
* a dash of balsamic vinegar (to taste)
|
||||
* cooked rice, preferably long-grain white rice (whether plain,
|
||||
basmati rice, jasmine rice, or even a mild pilaf)
|
||||
|
||||
In a blender or food processor, puree the onions, tomatoes, tomatillos,
|
||||
and ginger root. You can even do it with a Braun hand "mixer", if you
|
||||
chop things finer to start with, and work at it.
|
||||
|
||||
In a saucepan set over moderate heat, warm the oil until hot.
|
||||
|
||||
Add the puree and the balsamic vinegar, and cook, stirring occasionally,
|
||||
for 20 to 40 minutes. (Cooking it longer will make it sweeter.)
|
||||
|
||||
Add the Garam Masala, chili powder, and cook, stirring occasionally, for
|
||||
5 minutes.
|
||||
|
||||
Add the salt and chick peas and cook, stirring, until heated through.
|
||||
|
||||
Stir in the lime juice, and optionally one or two teaspoons of tahini.
|
||||
You can let it simmer longer, depending on how much softer you want the
|
||||
garbanzos to get.
|
||||
|
||||
Serve over rice, like a curry.
|
||||
|
||||
Yields 5 to 7 servings.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user