generates pod documentation for Config.pm from this file--please try to keep
the formatting regular.]
+CONFIGDOTSH (Oldsyms.U):
+ This is set to 'true' in config.sh so that a shell script
+ sourcing config.sh can tell if it has been sourced already.
+
+Mcc (Loc.U):
+ This variable is used internally by Configure to determine the
+ full pathname (if any) of the Mcc program. After Configure runs,
+ the value is reset to a plain "Mcc" and is not useful.
+
+PERL_APIVERSION (Oldsyms.U):
+ This value is manually set in patchlevel.h and is used
+ to set the Configure apiversion variable.
+
+PERL_REVISION (Oldsyms.U):
+ In a Perl version number such as 5.6.2, this is the 5.
+ This value is manually set in patchlevel.h
+
+PERL_SUBVERSION (Oldsyms.U):
+ In a Perl version number such as 5.6.2, this is the 2.
+ Values greater than 50 represent potentially unstable
+ development subversions.
+ This value is manually set in patchlevel.h
+
+PERL_VERSION (Oldsyms.U):
+ In a Perl version number such as 5.6.2, this is the 6.
+ This value is manually set in patchlevel.h
+
_a (Unix.U):
This variable defines the extension used for ordinary libraries.
For unix, it is '.a'. The '.' is included. Other possible
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
-CONFIGDOTSH (Oldsyms.U):
- This is set to 'true' in config.sh so that a shell script
- sourcing config.sh can tell if it has been sourced already.
-
contains (contains.U):
This variable holds the command to do a grep with a proper return
status. On most sane systems it is simply "grep". On insane systems
full pathname (if any) of the csh program. After Configure runs,
the value is reset to a plain "csh" and is not useful.
+d_Gconvert (d_gconvert.U):
+ This variable holds what Gconvert is defined as to convert
+ floating point numbers into strings. It could be 'gconvert'
+ or a more complex macro emulating gconvert with gcvt() or sprintf.
+ Possible values are:
+ d_Gconvert='gconvert((x),(n),(t),(b))'
+ d_Gconvert='gcvt((x),(n),(b))'
+ d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+
+d_PRIEldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIFldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIGldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIX64 (quadfio.U):
+ This variable conditionally defines the PERL_PRIX64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
+
+d_PRId64 (quadfio.U):
+ This variable conditionally defines the PERL_PRId64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIeldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIfldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIgldbl (longdblfio.U):
+ This variable conditionally defines the PERL_PRIfldlbl symbol, which
+ indiciates that stdio has a symbol to print long doubles.
+
+d_PRIi64 (quadfio.U):
+ This variable conditionally defines the PERL_PRIi64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit decimal numbers.
+
+d_PRIo64 (quadfio.U):
+ This variable conditionally defines the PERL_PRIo64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit octal numbers.
+
+d_PRIu64 (quadfio.U):
+ This variable conditionally defines the PERL_PRIu64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit unsigned decimal
+ numbers.
+
+d_PRIx64 (quadfio.U):
+ This variable conditionally defines the PERL_PRIx64 symbol, which
+ indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
+
d_access (d_access.U):
This variable conditionally defines HAS_ACCESS if the access() system
call is available to check for access permissions using real IDs.
that the ftime() routine exists. The ftime() routine is basically
a sub-second accuracy clock.
-d_Gconvert (d_gconvert.U):
- This variable holds what Gconvert is defined as to convert
- floating point numbers into strings. It could be 'gconvert'
- or a more complex macro emulating gconvert with gcvt() or sprintf.
- Possible values are:
- d_Gconvert='gconvert((x),(n),(t),(b))'
- d_Gconvert='gcvt((x),(n),(b))'
- d_Gconvert='sprintf((b),"%.*g",(n),(x))'
-
d_getgrent (d_getgrent.U):
This variable conditionally defines the HAS_GETGRENT symbol, which
indicates to the C program that the getgrent() routine is available
indicates to the C program that it should not assume that it is
running on the machine it was compiled on.
-d_PRId64 (quadfio.U):
- This variable conditionally defines the PERL_PRId64 symbol, which
- indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-d_PRIeldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIEldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIfldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIFldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIgldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIGldbl (longdblfio.U):
- This variable conditionally defines the PERL_PRIfldlbl symbol, which
- indiciates that stdio has a symbol to print long doubles.
-
-d_PRIi64 (quadfio.U):
- This variable conditionally defines the PERL_PRIi64 symbol, which
- indiciates that stdio has a symbol to print 64-bit decimal numbers.
-
-d_PRIo64 (quadfio.U):
- This variable conditionally defines the PERL_PRIo64 symbol, which
- indiciates that stdio has a symbol to print 64-bit octal numbers.
-
-d_PRIu64 (quadfio.U):
- This variable conditionally defines the PERL_PRIu64 symbol, which
- indiciates that stdio has a symbol to print 64-bit unsigned decimal
- numbers.
-
-d_PRIx64 (quadfio.U):
- This variable conditionally defines the PERL_PRIx64 symbol, which
- indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
-
-d_PRIX64 (quadfio.U):
- This variable conditionally defines the PERL_PRIX64 symbol, which
- indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
-
d_pthread_yield (d_pthread_y.U):
This variable conditionally defines the HAS_PTHREAD_YIELD
symbol if the pthread_yield routine is available to yield
and is typically used to test whether a particular extesion
is available.
+fflushNULL (fflushall.U):
+ This symbol, if defined, tells that fflush(NULL) does flush
+ all pending stdio output.
+
fflushall (fflushall.U):
This symbol, if defined, tells that to flush
all pending stdio output one must loop through all
Note that if fflushNULL is defined, fflushall will not
even be probed for and will be left undefined.
-fflushNULL (fflushall.U):
- This symbol, if defined, tells that fflush(NULL) does flush
- all pending stdio output.
-
find (Loc.U):
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
have: one of 'n', 'l', or '3'. The Makefile must supply the '.'.
See man3dir.
-Mcc (Loc.U):
- This variable is used internally by Configure to determine the
- full pathname (if any) of the Mcc program. After Configure runs,
- the value is reset to a plain "Mcc" and is not useful.
-
medium (models.U):
This variable contains a flag which will tell the C compiler and loader
to produce a program running with a medium memory model. If the
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
-PERL_APIVERSION (Oldsyms.U):
- This value is manually set in patchlevel.h and is used
- to set the Configure apiversion variable.
-
-PERL_REVISION (Oldsyms.U):
- In a Perl version number such as 5.6.2, this is the 5.
- This value is manually set in patchlevel.h
-
-PERL_SUBVERSION (Oldsyms.U):
- In a Perl version number such as 5.6.2, this is the 2.
- Values greater than 50 represent potentially unstable
- development subversions.
- This value is manually set in patchlevel.h
-
-PERL_VERSION (Oldsyms.U):
- In a Perl version number such as 5.6.2, this is the 6.
- This value is manually set in patchlevel.h
-
perladmin (perladmin.U):
Electronic mail address of the perl5 administrator.
nm extraction should be performed or not, according to the value
of usenm and the flags on the Configure command line.
+sPRIEldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'E') for output.
+
+sPRIFldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'F') for output.
+
+sPRIGldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'G') for output.
+
+sPRIX64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit hExADECimAl numbers (format 'X') for output.
+
+sPRId64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit decimal numbers (format 'd') for output.
+
+sPRIeldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'e') for output.
+
+sPRIfldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'f') for output.
+
+sPRIgldbl (longdblfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format long doubles (format 'g') for output.
+
+sPRIi64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit decimal numbers (format 'i') for output.
+
+sPRIo64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit octal numbers (format 'o') for output.
+
+sPRIu64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit unsigned decimal numbers (format 'u') for output.
+
+sPRIx64 (quadfio.U):
+ This variable, if defined, contains the string used by stdio to
+ format 64-bit hexadecimal numbers (format 'x') for output.
+
sched_yield (d_pthread_y.U):
This variable defines the way to yield the execution
of the current thread.
This variable holds the full absolute path of the directory below
which the user will install add-on packages. Derived from siteprefix.
+sizesize (sizesize.U):
+ This variable contains the size of a sizetype in bytes.
+
sizetype (sizetype.U):
This variable defines sizetype to be something like size_t,
unsigned long, or whatever type is used to declare length
machines that support separation of instruction and data space. It is
up to the Makefile to use this.
-sPRId64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit decimal numbers (format 'd') for output.
-
-sPRIeldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'e') for output.
-
-sPRIEldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'E') for output.
-
-sPRIfldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'f') for output.
-
-sPRIFldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'F') for output.
-
-sPRIgldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'g') for output.
-
-sPRIGldbl (longdblfio.U):
- This variable, if defined, contains the string used by stdio to
- format long doubles (format 'G') for output.
-
-sPRIi64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit decimal numbers (format 'i') for output.
-
-sPRIo64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit octal numbers (format 'o') for output.
-
-sPRIu64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit unsigned decimal numbers (format 'u') for output.
-
-sPRIx64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit hexadecimal numbers (format 'x') for output.
-
-sPRIX64 (quadfio.U):
- This variable, if defined, contains the string used by stdio to
- format 64-bit hExADECimAl numbers (format 'X') for output.
-
src (src.U):
This variable holds the path to the package source. It is up to
the Makefile to use this variable and set VPATH accordingly to
PUSHs(sv_2mortal(newSViv(PL_statcache.st_ino)));
PUSHs(sv_2mortal(newSViv(PL_statcache.st_mode)));
PUSHs(sv_2mortal(newSViv(PL_statcache.st_nlink)));
+#if Uid_t_size > IVSIZE
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_uid)));
+#else
PUSHs(sv_2mortal(newSViv(PL_statcache.st_uid)));
+#endif
+#if Gid_t_size > IVSIZE
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_gid)));
+#else
PUSHs(sv_2mortal(newSViv(PL_statcache.st_gid)));
+#endif
#ifdef USE_STAT_RDEV
PUSHs(sv_2mortal(newSViv(PL_statcache.st_rdev)));
#else
PUSHs(sv_2mortal(newSVpvn("", 0)));
#endif
+#if Size_t_size > IVSIZE
+ PUSHs(sv_2mortal(newSVnv(PL_statcache.st_size)));
+#else
PUSHs(sv_2mortal(newSViv(PL_statcache.st_size)));
+#endif
#ifdef BIG_TIME
PUSHs(sv_2mortal(newSVnv(PL_statcache.st_atime)));
PUSHs(sv_2mortal(newSVnv(PL_statcache.st_mtime)));
djSP;
if (result < 0)
RETPUSHUNDEF;
- if (PL_statcache.st_uid == (PL_op->op_type == OP_FTEOWNED ? PL_euid : PL_uid) )
+ if (PL_statcache.st_uid == (PL_op->op_type == OP_FTEOWNED ?
+ PL_euid : PL_uid) )
RETPUSHYES;
RETPUSHNO;
}
djSP;
if (result < 0)
RETPUSHUNDEF;
- if (!PL_statcache.st_size)
+ if (PL_statcache.st_size == 0)
RETPUSHYES;
RETPUSHNO;
}
djSP; dTARGET;
if (result < 0)
RETPUSHUNDEF;
+#ifdef Size_t_size > IVSISE
+ PUSHn(PL_statcache.st_size);
+#else
PUSHi(PL_statcache.st_size);
+#endif
RETURN;
}
register SV *sv;
GV *gv;
STRLEN n_a;
+ PerlIO *fp;
if (PL_op->op_flags & OPf_REF)
gv = (GV*)cSVOP->op_sv;
PL_statgv = Nullgv;
PL_laststatval = -1;
sv_setpv(PL_statname, SvPV(sv, n_a));
-#ifdef HAS_OPEN3
- i = PerlLIO_open3(SvPV(sv, n_a), O_RDONLY, 0);
-#else
- i = PerlLIO_open(SvPV(sv, n_a), 0);
-#endif
- if (i < 0) {
+ if (!(fp = PerlIO_open(SvPVX(PL_statname), "r"))) {
if (ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, n_a), '\n'))
Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "open");
RETPUSHUNDEF;
}
- PL_laststatval = PerlLIO_fstat(i, &PL_statcache);
- if (PL_laststatval < 0)
+ PL_laststatval = PerlLIO_fstat(PerlIO_fileno(fp), &PL_statcache);
+ if (PL_laststatval < 0) {
+ (void)PerlIO_close(fp);
RETPUSHUNDEF;
- len = PerlLIO_read(i, tbuf, 512);
- (void)PerlLIO_close(i);
+ }
+ do_binmode(fp, '<', TRUE);
+ len = PerlIO_read(fp, tbuf, sizeof(tbuf));
+ (void)PerlIO_close(fp);
if (len <= 0) {
if (S_ISDIR(PL_statcache.st_mode) && PL_op->op_type == OP_FTTEXT)
RETPUSHNO; /* special case NFS directories */
/* now scan s to look for textiness */
/* XXX ASCII dependent code */
+#if defined(DOSISH) || defined(USEMYBINMODE)
+ /* ignore trailing ^Z on short files */
+ if (len && len < sizeof(tbuf) && tbuf[len-1] == 26)
+ --len;
+#endif
+
for (i = 0; i < len; i++, s++) {
if (!*s) { /* null never allowed in text */
odd += len;
else if (!(isPRINT(*s) || isSPACE(*s)))
odd++;
#else
- else if (*s & 128)
- odd++;
+ else if (*s & 128) {
+#ifdef USE_LOCALE
+ if (!(PL_op->op_private & OPpLOCALE) || !isALPHA_LC(*s))
+#endif
+ odd++;
+ }
else if (*s < 32 &&
*s != '\n' && *s != '\r' && *s != '\b' &&
*s != '\t' && *s != '\f' && *s != 27)