Aha! That matches the text in "man perlsyn" in Perl 5.14.2. (Silly me, thinking that true and false would be documented in perldata or perlop, and not in the syntax page.)
It's easier to find stuff if you combine all the man pages into a single text doc
and use Vim (or your favorite editor) to search for what you're looking for.
I'll include my 10 year old version here since it's < 200 lines - may need some
updating - hope that doesn't bother anyone. To search for a
function (sysread for eg) in the output file using Vim I
just use
/^ sysread
since they're always 4 columns in in the output file.
#!perl -sw --
use strict;
use Config;
use Pod::Text;
use Data:
umper; $Data:
umper::Indent=1; $Data:
umper::Sortkeys=1;
# copyright 2001 $Bill Luebkert - you may use/modify freely
#
# make perl manual from pods into single text file
# Usage: perl perlman.pl >perl.man (or perlman.txt or whatever)
#
# Ignore any errors you may get from pod2text conversion module
#
$| = 1;
use vars qw($h $help $s $d);
my $pod_dir = "$Config{archlib}/pod"; # directory where core pod files are
$pod_dir = "$Config{archlibexp}/pods" if $] > 5.008;
my @extra_pods = (); # other pod file dirs to check - add your own
# push @extra_pods, "$Config{sitelib}/pod" if $] <= 5.008;
# push @extra_pods, "$Config{archlibexp}/pods" if $] > 5.008;
print <<EOD and exit 0 if $h or $help;
Combines all of the Perl man pages into a single file for searching
and reference. Should generate a lot of format errors.
Usage: $0 [-s] [<pod-dir>] [>perl.man]
-s silent (no progress lines)
pod-dir optional directory in which to find pod files
EOD
# core sections and ones to skip
my @sections = (); # built automatically in main if empty (section order)
my %sections = (); # built automatically in main if empty (section hdrs)
my %do_not_want = (); # Ones I don't want in my manual
# get core sections (not language or platform specific)
get_sections () if not @sections;
# add windows specific section
push @sections, 'perlwin32';
$sections{'perlwin32'} = 'Perl notes for Windows';
main ();
exit 0;
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub main {
my %pods;
opendir DIR, $pod_dir or die "Error on opendir $pod_dir: $!\n";
while (defined ($_ = readdir DIR)) {
next if !/\.pod$/;
s/\.pod$//i;
$pods{$_} = 1;
}
closedir DIR;
# get the core sections in order
foreach (@sections) {
my $section = $_;
my $sect_hdr = $sections{$section};
if (exists $do_not_want{$section}) {
print STDERR "Skipping $section Section\n" if !$s;
next;
}
print STDERR "Doing $section '$sect_hdr'\n" if !$s;
if (not exists $pods{$section}) {
print STDERR "$section section missing\n";
next;
}
printf "\n%-20.20s %s\n\n", $section, $sect_hdr;
pod2text ("-80", "$pod_dir/$section.pod");
delete $pods{$section};
}
if (0) { # commented out for now
# handle any extra sections found that weren't in my list
print STDERR "Doing extra section\n" if !$s;
foreach (sort keys %pods) {
if (exists $do_not_want{$_}) {
print STDERR "Skipping $_ Section\n" if !$s;
next;
}
print STDERR "Doing $_ Section\n" if !$s;
print "$_ Section\n\n";
pod2text ("-80", "$pod_dir/$_.pod");
}
# handle any extra directories of pods
print STDERR "Doing extra directories requested\n" if !$s;
foreach my $dir (@extra_pods) {
opendir DIR, $dir or die "Error on opendir $dir: $!\n";
while (defined ($_ = readdir DIR)) {
next if !/\.pod/;
s/\.pod$//io;
if (exists $do_not_want{$_}) {
print STDERR "Skipping $_ $dir\n" if !$s;
next;
}
print STDERR "Doing $_ extra section\n" if !$s;
print "$_ section\n\n";
pod2text ("-80", "$dir/$_.pod");
}
closedir DIR;
}
} # if 0
}
#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub get_sections {
open IN, "$pod_dir/perl.pod" or die "open $pod_dir/perl.pod: $! ($^E)";
my $lines;
{ undef $/; $lines = <IN>; }
close IN;
$lines =~ s/^.*?=head2 Overview>*?\n//is;
$lines =~ s/\s*=head2 Language-Specific.*$//is;
print (Data:
umper->Dump([$lines], [qw($lines)])) if $d;
foreach (split /\n/, $lines) {
next if /^\s*$/;
next if /^\s*=head2/;
my @F = split ' ', $_, 2;
push @sections, $F[0];
$sections{$F[0]} = $F[1];
}
print (Data:
umper->Dump([\@sections], [qw(@sections)])) if $d;
print (Data:
umper->Dump([\%sections], [qw(%sections)])) if $d;
}
__END__