xref: /openbsd-src/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm (revision 3d61058aa5c692477b6d18acfbbdb653a9930ff9)
1package Pod::Simple::TiedOutFH;
2use strict;
3use warnings;
4use Symbol ('gensym');
5use Carp ();
6our $VERSION = '3.45';
7
8#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9
10sub handle_on { # some horrible frightening things are encapsulated in here
11  my $class = shift;
12  $class = ref($class) || $class;
13
14  Carp::croak "Usage: ${class}->handle_on(\$somescalar)" unless @_;
15
16  my $x = (defined($_[0]) and ref($_[0]))
17    ? $_[0]
18    : ( \( $_[0] ) )[0]
19  ;
20  $$x = '' unless defined $$x;
21
22  #Pod::Simple::DEBUG and print STDERR "New $class handle on $x = \"$$x\"\n";
23
24  my $new = gensym();
25  tie *$new, $class, $x;
26  return $new;
27}
28
29#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30
31sub TIEHANDLE {  # Ties to just a scalar ref
32  my($class, $scalar_ref) = @_;
33  $$scalar_ref = '' unless defined $$scalar_ref;
34  return bless \$scalar_ref,  ref($class) || $class;
35}
36
37sub PRINT {
38  my $it = shift;
39  foreach my $x (@_) { $$$it .= $x }
40
41  #Pod::Simple::DEBUG > 10 and print STDERR " appended to $$it = \"$$$it\"\n";
42
43  return 1;
44}
45
46sub FETCH {
47  return ${$_[0]};
48}
49
50sub PRINTF {
51  my $it = shift;
52  my $format = shift;
53  $$$it .= sprintf $format, @_;
54  return 1;
55}
56
57sub FILENO { ${ $_[0] } + 100 } # just to produce SOME number
58
59sub CLOSE { 1 }
60
61#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
621;
63__END__
64
65Chole
66
67 * 1 large red onion
68 * 2 tomatillos
69 * 4 or 5 roma tomatoes (optionally with the pulp discarded)
70 * 1 tablespoons chopped ginger root (or more, to taste)
71 * 2 tablespoons canola oil (or vegetable oil)
72
73 * 1 tablespoon garam masala
74 * 1/2 teaspoon red chili powder, or to taste
75 * Salt, to taste (probably quite a bit)
76 * 2 (15-ounce) cans chick peas or garbanzo beans, drained and rinsed
77 * juice of one smallish lime
78 * a dash of balsamic vinegar (to taste)
79 * cooked rice, preferably long-grain white rice (whether plain,
80    basmati rice, jasmine rice, or even a mild pilaf)
81
82In a blender or food processor, puree the onions, tomatoes, tomatillos,
83and ginger root.  You can even do it with a Braun hand "mixer", if you
84chop things finer to start with, and work at it.
85
86In a saucepan set over moderate heat, warm the oil until hot.
87
88Add the puree and the balsamic vinegar, and cook, stirring occasionally,
89for 20 to 40 minutes. (Cooking it longer will make it sweeter.)
90
91Add the Garam Masala, chili powder, and cook, stirring occasionally, for
925 minutes.
93
94Add the salt and chick peas and cook, stirring, until heated through.
95
96Stir in the lime juice, and optionally one or two teaspoons of tahini.
97You can let it simmer longer, depending on how much softer you want the
98garbanzos to get.
99
100Serve over rice, like a curry.
101
102Yields 5 to 7 servings.
103
104
105