summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-04-15 00:00:00 +1200
committerChip Salzenberg <chip@atlantic.net>1997-04-15 00:00:00 +1200
commit137443ea0a858c43f5a720730cac6209a7d41948 (patch)
treeea114bc1f5281a6ec91ebc67e34ed7f30571daee /pod
parent683d4eee6f3b749aec29cc849f45404c6acda85e (diff)
downloadperl-137443ea0a858c43f5a720730cac6209a7d41948.tar.gz
[inseparable changes from patch from perl-5.003_97d to perl-5.003_97e]perl-5.003_97e
CORE LANGUAGE CHANGES Subject: New operator: sysseek() From: Chip Salzenberg <chip@perl.com> Files: doio.c ext/Opcode/Makefile.PL ext/Opcode/Opcode.pm global.sym keywords.pl opcode.pl pod/perldelta.pod pod/perlfunc.pod pp_sys.c t/op/sysio.t toke.c Subject: Allow recursive substitution again From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod pod/perldiag.pod pp_hot.c CORE PORTABILITY Subject: Use size_t for socket size parameters of GNU libc From: Chip Salzenberg <chip@perl.com> Files: doio.c pp_sys.c Subject: Win32 update (four patches) From: Gurusamy Sarathy <gsar@engin.umich.edu> Files: MANIFEST README.win32 dosish.h ext/SDBM_File/Makefile.PL ext/SDBM_File/sdbm/Makefile.PL ext/SDBM_File/sdbm/sdbm.c ext/SDBM_File/sdbm/sdbm.h lib/ExtUtils/MM_Unix.pm perl.c utils/perlbug.PL utils/perldoc.PL win32/Makefile win32/TEST win32/config.H win32/config.w32 win32/config_h.PL win32/config_sh.PL win32/perllib.c win32/runperl.c win32/win32.c win32/win32io.c win32/win32sck.c DOCUMENTATION Subject: Add CGI to perldelta.pod and improve its description in MANIFEST From: Chip Salzenberg <chip@perl.com> Files: MANIFEST pod/perldelta.pod Subject: Describe probs with majordomo 1.94.1 From: Chip Salzenberg <chip@perl.com> Files: pod/perldelta.pod Subject: Fix description of /\G/g From: Chip Salzenberg <chip@perl.com> Files: pod/perlop.pod Subject: Mention '...' operator in precedence table Date: Sun, 13 Apr 1997 11:24:16 -0600 From: Tom Christiansen <tchrist@perl.com> Files: pod/perlop.pod private-msgid: 199704131724.LAA23120@jhereg.perl.com OTHER CORE CHANGES Subject: New API function: perl_eval_pv() Date: Mon, 14 Apr 1997 17:13:41 -0400 From: Doug MacEachern <dougm@opengroup.org> Files: perl.c pod/perlcall.pod pod/perldelta.pod pod/perlembed.pod pod/perlguts.pod proto.h private-msgid: 199704142113.RAA06823@postman.osf.org Subject: Fix C< s//whatever/ >, which reuses old pattern From: Chip Salzenberg <chip@perl.com> Files: pp_hot.c regexec.c
Diffstat (limited to 'pod')
-rw-r--r--pod/perlcall.pod27
-rw-r--r--pod/perldelta.pod41
-rw-r--r--pod/perldiag.pod6
-rw-r--r--pod/perlembed.pod105
-rw-r--r--pod/perlfunc.pod34
-rw-r--r--pod/perlguts.pod8
-rw-r--r--pod/perlop.pod13
-rw-r--r--pod/perltoc.pod58
8 files changed, 138 insertions, 154 deletions
diff --git a/pod/perlcall.pod b/pod/perlcall.pod
index 5a689d0304..f90e09f238 100644
--- a/pod/perlcall.pod
+++ b/pod/perlcall.pod
@@ -1922,35 +1922,16 @@ anonymous subroutine. However, our example showed how Perl script
invoking an XSUB to preform this operation. Let's see how it can be
done inside our C code:
- SV *perl_eval(char *string, int croak_on_error)
- {
- dSP;
- SV *sv = newSVpv(string,0);
-
- PUSHMARK(sp);
- perl_eval_sv(sv, G_SCALAR);
- SvREFCNT_dec(sv);
-
- SPAGAIN;
- sv = POPs;
- PUTBACK;
-
- if (croak_on_error && SvTRUE(GvSV(errgv)))
- croak(SvPV(GvSV(errgv),na));
-
- return sv;
- }
-
...
- SV *cvrv = perl_eval("sub { print 'You will not find me cluttering any namespace!' }", TRUE);
+ SV *cvrv = perl_eval_pv("sub { print 'You will not find me cluttering any namespace!' }", TRUE);
...
perl_call_sv(cvrv, G_VOID|G_NOARGS);
-L<perl_eval_sv> is used to compile the anonymous subroutine, which can
-then be POPed off the stack. Once this code reference is in hand, it
+L<perlguts/perl_eval_pv> is used to compile the anonymous subroutine, which
+will be the return value as well. Once this code reference is in hand, it
can be mixed in with all the previous examples we've shown.
=head1 SEE ALSO
@@ -1969,4 +1950,4 @@ and Larry Wall.
=head1 DATE
-Version 1.2, 16th Jan 1996
+Version 1.3, 14th Apr 1997
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index fdd4dde722..b1e11f414b 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -291,7 +291,7 @@ the loop, but not beyond it.
Note that you still cannot use my() on global punctuation variables
such as $_ and the like.
-=item unpack() and pack()
+=item pack() and unpack()
A new format 'w' represents a BER compressed integer (as defined in
ASN.1). Its format is a sequence of one or more bytes, each of which
@@ -299,6 +299,11 @@ provides seven bits of the total value, with the most significant
first. Bit eight of each byte is set, except for the last byte, in
which bit eight is clear.
+=item sysseek()
+
+This is a variant of seek() that works on the system file pointer.
+It is the only reliable way to seek before sysread() or syswrite().
+
=item use VERSION
If the first argument to C<use> is a number, it is treated as a version
@@ -657,10 +662,14 @@ with Perl 5.003, there are a few exceptions:
Module Required Version for Perl 5.004
------ -------------------------------
- Filter 1.12
- LWP 5.08
+ Filter Filter-1.12
+ LWP libwww-perl-5.08
Tk Tk400.202 (-w makes noise)
+Also, the majordomo mailing list program, version 1.94.1, doesn't work
+with Perl 5.004 (nor with perl 4), because it executes an invalid
+regular expression. This bug is fixed in majordomo version 1.94.2.
+
=head2 Installation directories
The I<installperl> script now places the Perl source files for
@@ -676,9 +685,16 @@ shared libraries.
Brand new modules, arranged by topic rather than strictly
alphabetically:
- CPAN interface to Comprehensive Perl Archive Network
- CPAN::FirstTime create a CPAN configuration file
- CPAN::Nox run CPAN while avoiding compiled extensions
+ CGI.pm Web server interface ("Common Gateway Interface")
+ CGI/Apache.pm Support for Apache's Perl module
+ CGI/Carp.pm Log server errors with helpful context
+ CGI/Fast.pm Support for FastCGI (persistent server process)
+ CGI/Push.pm Support for server push
+ CGI/Switch.pm Simple interface for multiple server types
+
+ CPAN Interface to Comprehensive Perl Archive Network
+ CPAN::FirstTime Utility for creating CPAN configuration file
+ CPAN::Nox Runs CPAN while avoiding compiled extensions
IO.pm Top-level interface to IO::* classes
IO/File.pm IO::File extension Perl module
@@ -887,6 +903,13 @@ C<perl_call_sv> is Perl's producing an "Undefined subroutine called"
error on the I<second> call to a given method (since there is no cache
on the first call).
+=item C<perl_eval_pv>
+
+A new function handy for eval'ing strings of Perl code inside C code.
+This function returns the value from the eval statement, which can
+be used instead of fetching globals from the symbol table. See
+L<perlguts>, L<perlembed> and L<perlcall> for details and examples.
+
=item Extended API for manipulating hashes
Internal handling of hash keys has changed. The old hashtable API is
@@ -1156,12 +1179,6 @@ commas if you don't want them to appear in your data:
qw! a b c !;
-=item Recursive substitution detected
-
-(F) The replacement string of a substitution caused the recursive
-execution of that very same substituion. Perl cannot keep track of
-special variables (C<$1>, etc.) under such circumstances.
-
=item Scalar value @%s{%s} better written as $%s{%s}
(W) You've used a hash slice (indicated by @) to select a single element of
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 080c2a76d7..0152662f8c 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1914,12 +1914,6 @@ which is why it's currently left out of your copy.
(F) More than 100 levels of inheritance were used. Probably indicates
an unintended loop in your inheritance hierarchy.
-=item Recursive substitution detected
-
-(F) The replacement string of a substitution caused the recursive
-execution of that very same substituion. Perl cannot keep track of
-special variables (C<$1>, etc.) under such circumstances.
-
=item Reference miscount in sv_replace()
(W) The internal sv_replace() function was handed a new SV with a
diff --git a/pod/perlembed.pod b/pod/perlembed.pod
index 9e3fb5250a..79783a7d30 100644
--- a/pod/perlembed.pod
+++ b/pod/perlembed.pod
@@ -263,57 +263,49 @@ your C program>.
=head2 Evaluating a Perl statement from your C program
-One way to evaluate pieces of Perl code is to use
-L<perlguts/perl_eval_sv()>. We've wrapped this inside our own
-I<perl_eval()> function, which converts a command string to an SV,
-passing this and the L<perlcall/G_DISCARD> flag to
-L<perlguts/perl_eval_sv()>.
-
-Arguably, this is the only routine you'll ever need to execute
-snippets of Perl code from within your C program. Your string can be
+Perl provides two API functions to evaluate pieces of Perl code.
+These are L<perlguts/perl_eval_sv()> and L<perlguts/perl_eval_pv()>.
+
+Arguably, these are the only routines you'll ever need to execute
+snippets of Perl code from within your C program. Your code can be
as long as you wish; it can contain multiple statements; it can employ
L<perlfunc/use>, L<perlfunc/require> and L<perlfunc/do> to include
external Perl files.
-Our I<perl_eval()> lets us evaluate individual Perl strings, and then
+I<perl_eval_pv()> lets us evaluate individual Perl strings, and then
extract variables for coercion into C types. The following program,
I<string.c>, executes three Perl strings, extracting an C<int> from
the first, a C<float> from the second, and a C<char *> from the third.
#include <EXTERN.h>
#include <perl.h>
-
+
static PerlInterpreter *my_perl;
-
- I32 perl_eval(char *string)
- {
- return perl_eval_sv(newSVpv(string,0), G_DISCARD);
- }
-
+
main (int argc, char **argv, char **env)
{
- char *embedding[] = { "", "-e", "0" };
- STRLEN length;
-
- my_perl = perl_alloc();
- perl_construct( my_perl );
-
- perl_parse(my_perl, NULL, 3, embedding, NULL);
- perl_run(my_perl);
- /** Treat $a as an integer **/
- perl_eval("$a = 3; $a **= 2");
- printf("a = %d\n", SvIV(perl_get_sv("a", FALSE)));
-
- /** Treat $a as a float **/
- perl_eval("$a = 3.14; $a **= 2");
- printf("a = %f\n", SvNV(perl_get_sv("a", FALSE)));
-
- /** Treat $a as a string **/
- perl_eval("$a = 'rekcaH lreP rehtonA tsuJ'; $a = reverse($a); ");
- printf("a = %s\n", SvPV(perl_get_sv("a", FALSE), length));
-
- perl_destruct(my_perl);
- perl_free(my_perl);
+ char *embedding[] = { "", "-e", "0" };
+
+ my_perl = perl_alloc();
+ perl_construct( my_perl );
+
+ perl_parse(my_perl, NULL, 3, embedding, NULL);
+ perl_run(my_perl);
+
+ /** Treat $a as an integer **/
+ perl_eval_pv("$a = 3; $a **= 2", TRUE);
+ printf("a = %d\n", SvIV(perl_get_sv("a", FALSE)));
+
+ /** Treat $a as a float **/
+ perl_eval_pv("$a = 3.14; $a **= 2", TRUE);
+ printf("a = %f\n", SvNV(perl_get_sv("a", FALSE)));
+
+ /** Treat $a as a string **/
+ perl_eval_pv("$a = 'rekcaH lreP rehtonA tsuJ'; $a = reverse($a);", TRUE);
+ printf("a = %s\n", SvPV(perl_get_sv("a", FALSE), na));
+
+ perl_destruct(my_perl);
+ perl_free(my_perl);
}
All of those strange functions with I<sv> in their names help convert Perl scalars to C types. They're described in L<perlguts>.
@@ -329,28 +321,10 @@ I<SvPV()> to create a string:
In the example above, we've created a global variable to temporarily
store the computed value of our eval'd expression. It is also
possible and in most cases a better strategy to fetch the return value
-from L<perl_eval_sv> instead. Example:
-
- SV *perl_eval(char *string, int croak_on_error)
- {
- dSP;
- SV *sv = newSVpv(string,0);
+from L<perl_eval_pv> instead. Example:
- PUSHMARK(sp);
- perl_eval_sv(sv, G_SCALAR);
- SvREFCNT_dec(sv);
-
- SPAGAIN;
- sv = POPs;
- PUTBACK;
-
- if (croak_on_error && SvTRUE(GvSV(errgv)))
- croak(SvPV(GvSV(errgv),na));
-
- return sv;
- }
...
- SV *val = perl_eval("reverse 'rekcaH lreP rehtonA tsuJ'", TRUE);
+ SV *val = perl_eval_pv("reverse 'rekcaH lreP rehtonA tsuJ'", TRUE);
printf("%s\n", SvPV(val,na));
...
@@ -359,7 +333,7 @@ variables and we've simplified our code as well.
=head2 Performing Perl pattern matches and substitutions from your C program
-Our I<perl_eval()> lets us evaluate strings of Perl code, so we can
+The I<perl_eval_pv()> function lets us evaluate strings of Perl code, so we can
define some functions that use it to "specialize" in matches and
substitutions: I<match()>, I<substitute()>, and I<matches()>.
@@ -390,10 +364,7 @@ been wrapped here):
#include <perl.h>
static PerlInterpreter *my_perl;
- I32 perl_eval(char *string)
- {
- return perl_eval_sv(newSVpv(string,0), G_DISCARD);
- }
+
/** match(string, pattern)
**
** Used for matches in a scalar context.
@@ -406,7 +377,7 @@ been wrapped here):
command = malloc(sizeof(char) * strlen(string) + strlen(pattern) + 37);
sprintf(command, "$string = '%s'; $return = $string =~ %s",
string, pattern);
- perl_eval(command);
+ perl_eval_pv(command, TRUE);
free(command);
return SvIV(perl_get_sv("return", FALSE));
}
@@ -424,7 +395,7 @@ been wrapped here):
command = malloc(sizeof(char) * strlen(*string) + strlen(pattern) + 35);
sprintf(command, "$string = '%s'; $ret = ($string =~ %s)",
*string, pattern);
- perl_eval(command);
+ perl_eval_pv(command, TRUE);
free(command);
*string = SvPV(perl_get_sv("string", FALSE), length);
return SvIV(perl_get_sv("ret", FALSE));
@@ -447,7 +418,7 @@ been wrapped here):
command = malloc(sizeof(char) * strlen(string) + strlen(pattern) + 38);
sprintf(command, "$string = '%s'; @array = ($string =~ %s)",
string, pattern);
- perl_eval(command);
+ perl_eval_pv(command, TRUE);
free(command);
array = perl_get_av("array", FALSE);
num_matches = av_len(array) + 1; /** assume $[ is 0 **/
@@ -990,7 +961,7 @@ Dov Grobgeld, and Ilya Zakharevich.
Check out Doug's article on embedding in Volume 1, Issue 4 of The Perl
Journal. Info about TPJ is available from http://tpj.com.
-February 1, 1997
+April 14, 1997
Some of this material is excerpted from Jon Orwant's book: I<Perl 5
Interactive>, Waite Group Press, 1996 (ISBN 1-57169-064-6) and appears
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 84a794adb2..cba3f2a35f 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -2582,7 +2582,12 @@ call of stdio. FILEHANDLE may be an expression whose value gives the name
of the filehandle. The values for WHENCE are 0 to set the file pointer to
POSITION, 1 to set the it to current plus POSITION, and 2 to set it to EOF
plus offset. You may use the values SEEK_SET, SEEK_CUR, and SEEK_END for
-this from the POSIX module. Returns 1 upon success, 0 otherwise.
+this from either the IO::Seekable or the POSIX module. Returns 1 upon
+success, 0 otherwise.
+
+If you want to position a file pointer for sysread() or syswrite(), don't
+use seek() -- buffering makes its effect on the system file pointer
+unpredictable and non-portable. Use sysseek() instead.
On some systems you have to do a seek whenever you switch between reading
and writing. Amongst other things, this may have the effect of calling
@@ -3326,10 +3331,10 @@ into that kind of thing.
Attempts to read LENGTH bytes of data into variable SCALAR from the
specified FILEHANDLE, using the system call read(2). It bypasses
-stdio, so mixing this with other kinds of reads may cause confusion.
-Returns the number of bytes actually read, or undef if there was an
-error. SCALAR will be grown or shrunk so that the last byte actually
-read is the last byte of the scalar after the read.
+stdio, so mixing this with other kinds of reads or with seek() may
+cause confusion. Returns the number of bytes actually read, or undef
+if there was an error. SCALAR will be grown or shrunk so that the
+last byte actually read is the last byte of the scalar after the read.
An OFFSET may be specified to place the read data at some place in the
string other than the beginning. A negative OFFSET specifies
@@ -3338,6 +3343,17 @@ string. A positive OFFSET greater than the length of SCALAR results
in the string being padded to the required size with "\0" bytes before
the result of the read is appended.
+=item sysseek FILEHANDLE,POSITION,WHENCE
+
+Randomly positions the system file pointer for FILEHANDLE using the
+system call lseek(2). It bypasses stdio, so mixing this with read(),
+print(), write(), or seek() may cause confusion. FILEHANDLE may be an
+expression whose value gives the name of the filehandle. The values for
+WHENCE are 0 to set the file pointer to POSITION, 1 to set the it to
+current plus POSITION, and 2 to set it to EOF plus offset. You may use
+the values SEEK_SET, SEEK_CUR, and SEEK_END for this from either the
+IO::Seekable or the POSIX module. Returns 1 upon success, 0 otherwise.
+
=item system LIST
Does exactly the same thing as "exec LIST" except that a fork is done
@@ -3388,10 +3404,10 @@ signals and core dumps.
Attempts to write LENGTH bytes of data from variable SCALAR to the
specified FILEHANDLE, using the system call write(2). It bypasses
-stdio, so mixing this with prints may cause confusion. Returns the
-number of bytes actually written, or undef if there was an error.
-If the length is greater than the available data, only as much data as
-is available will be written.
+stdio, so mixing this with prints or with seek() may cause confusion.
+Returns the number of bytes actually written, or undef if there was an
+error. If the length is greater than the available data, only as much
+data as is available will be written.
An OFFSET may be specified to write the data from some part of the
string other than the beginning. A negative OFFSET specifies writing
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index 382c6c2e00..7b4e4c718b 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -1960,6 +1960,12 @@ Tells Perl to C<eval> the string in the SV.
I32 perl_eval_sv _((SV* sv, I32 flags));
+=item perl_eval_pv
+
+Tells Perl to C<eval> the given string and return an SV* result.
+
+ SV* perl_eval_pv _((char* p, I32 croak_on_error));
+
=item perl_free
Releases a Perl interpreter. See L<perlembed>.
@@ -2930,4 +2936,4 @@ API Listing by Dean Roehrich <F<roehrich@cray.com>>.
=head1 DATE
-Version 31.5: 1997/4/1
+Version 31.6: 1997/4/14
diff --git a/pod/perlop.pod b/pod/perlop.pod
index 3bd4f21511..3734477ecf 100644
--- a/pod/perlop.pod
+++ b/pod/perlop.pod
@@ -27,7 +27,7 @@ operate on scalar values only, not array values.
left | ^
left &&
left ||
- nonassoc ..
+ nonassoc .. ...
right ?:
right = += -= *= etc.
left , =>
@@ -722,7 +722,7 @@ beginning. Examples:
print "$sentences\n";
# using m//g with \G
- $_ = "ppooqppq";
+ $_ = "ppooqppqq";
while ($i++ < 2) {
print "1: '";
print $1 while /(o)/g; print "', pos=", pos, "\n";
@@ -735,14 +735,11 @@ beginning. Examples:
The last example should print:
1: 'oo', pos=4
- 2: 'q', pos=4
+ 2: 'q', pos=5
3: 'pp', pos=7
1: '', pos=7
- 2: 'q', pos=7
- 3: '', pos=7
-
-Note how C<m//g> matches change the value reported by C<pos()>, but the
-non-global match doesn't.
+ 2: 'q', pos=8
+ 3: '', pos=8
A useful idiom for C<lex>-like scanners is C</\G.../g>. You can
combine several regexps like this to process a string part-by-part,
diff --git a/pod/perltoc.pod b/pod/perltoc.pod
index 858d783ea2..ef59edbc9b 100644
--- a/pod/perltoc.pod
+++ b/pod/perltoc.pod
@@ -860,10 +860,10 @@ $^E, $^H, $^M
=item New and changed builtin functions
delete on slices, flock, printf and sprintf, keys as an lvalue, my() in
-Control Structures, unpack() and pack(), use VERSION, use Module VERSION
-LIST, prototype(FUNCTION), srand, $_ as Default, C<m//g> does not reset
-search position on failure, C<m//x> ignores whitespace before ?*+{}, nested
-C<sub{}> closures work now, formats work right on changing lexicals
+Control Structures, pack() and unpack(), sysseek(), use VERSION, use Module
+VERSION LIST, prototype(FUNCTION), srand, $_ as Default, C<m//g> does not
+reset search position on failure, C<m//x> ignores whitespace before ?*+{},
+nested C<sub{}> closures work now, formats work right on changing lexicals
=item New builtin methods
@@ -925,7 +925,8 @@ C<void> XSUBs now default to returning nothing
=item C Language API Changes
-C<gv_fetchmethod> and C<perl_call_sv>, Extended API for manipulating hashes
+C<gv_fetchmethod> and C<perl_call_sv>, C<perl_eval_pv>, Extended API for
+manipulating hashes
=item Documentation Changes
@@ -947,16 +948,15 @@ number, Integer overflow in octal number, internal error: glob failed, Name
"%s::%s" used only once: possible typo, Null picture in formline, Offset
outside string, Out of memory!, Out of memory during request for %s,
Possible attempt to put comments in qw() list, Possible attempt to separate
-words with commas, Recursive substitution detected, Scalar value @%s{%s}
-better written as $%s{%s}, Stub found while resolving method `%s'
-overloading `%s' in package `%s', Too late for "B<-T>" option, untie
-attempted while %d inner references still exist, Unrecognized character %s,
-Unsupported function fork, Use of "$$<digit>" to mean "${$}<digit>" is
-deprecated, Value of %s can be "0"; test with defined(), Variable "%s" may
-be unavailable, Variable "%s" will not stay shared, Warning: something's
-wrong, Ill-formed logical name |%s| in prime_env_iter, Got an error from
-DosAllocMem, Malformed PERLLIB_PREFIX, PERL_SH_DIR too long, Process
-terminated by SIG%s
+words with commas, Scalar value @%s{%s} better written as $%s{%s}, Stub
+found while resolving method `%s' overloading `%s' in package `%s', Too
+late for "B<-T>" option, untie attempted while %d inner references still
+exist, Unrecognized character %s, Unsupported function fork, Use of
+"$$<digit>" to mean "${$}<digit>" is deprecated, Value of %s can be "0";
+test with defined(), Variable "%s" may be unavailable, Variable "%s" will
+not stay shared, Warning: something's wrong, Ill-formed logical name |%s|
+in prime_env_iter, Got an error from DosAllocMem, Malformed PERLLIB_PREFIX,
+PERL_SH_DIR too long, Process terminated by SIG%s
=item BUGS
@@ -1220,16 +1220,16 @@ srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR, study, sub BLOCK,
sub NAME, sub NAME BLOCK, substr EXPR,OFFSET,LEN, substr EXPR,OFFSET,
symlink OLDFILE,NEWFILE, syscall LIST, sysopen FILEHANDLE,FILENAME,MODE,
sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
-FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, system
-LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite
-FILEHANDLE,SCALAR,LENGTH, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
-VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
-FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
-ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
-TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module LIST, use
-Module, use Module VERSION LIST, use VERSION, utime LIST, values HASH, vec
-EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
-FILEHANDLE, write EXPR, write, y///
+FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
+FILEHANDLE,POSITION,WHENCE, system LIST, syswrite
+FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH, tell
+FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
+VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
+EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
+EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
+unshift ARRAY,LIST, use Module LIST, use Module, use Module VERSION LIST,
+use VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid
+PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y///
=back
@@ -2339,8 +2339,8 @@ mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV,
newHV, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVrv,
newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv,
-perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free,
-perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
+perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_eval_pv,
+perl_free, perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse,
perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs, PUSHMARK, PUSHi,
PUSHn, PUSHp, PUSHs, PUTBACK, Renew, Renewc, RETVAL, safefree, safemalloc,
saferealloc, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
@@ -2962,7 +2962,9 @@ Kevin B. Hendricks (kbhend@dogwood.tyler.wm.edu), Stephen Dahmen
=item DESCRIPTION
-=item NOTE
+=item NOTE 1
+
+=item NOTE 2
=item SEE ALSO