Create a new local $_ without triggering tie by using local *_ = \my $a
[p5sagit/p5-mst-13.2.git] / util.h
CommitLineData
a0d0e21e 1/* util.h
a687059c 2 *
4bb101f2 3 * Copyright (C) 1991, 1992, 1993, 1999, 2001, 2002,
4 * by Larry Wall and others
a687059c 5 *
d48672a2 6 * You may distribute under the terms of either the GNU General Public
7 * License or the Artistic License, as specified in the README file.
8d063cd8 8 *
8d063cd8 9 */
57843af0 10
11#ifdef VMS
12# define PERL_FILE_IS_ABSOLUTE(f) \
13 (*(f) == '/' \
14 || (strchr(f,':') \
15 || ((*(f) == '[' || *(f) == '<') \
16 && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
17
18#else /* !VMS */
19# ifdef WIN32
20# define PERL_FILE_IS_ABSOLUTE(f) \
f2ed23b0 21 (*(f) == '/' || *(f) == '\\' /* UNC/rooted path */ \
22 || ((f)[0] && (f)[1] == ':')) /* drive name */
57843af0 23# else /* !WIN32 */
2986a63f 24# ifdef NETWARE
25# define PERL_FILE_IS_ABSOLUTE(f) \
26 (((f)[0] && (f)[1] == ':') /* drive name */ \
27 || ((f)[0] == '\\' && (f)[1] == '\\') /* UNC path */ \
28 || ((f)[3] == ':')) /* volume name, currently only sys */
29# else /* !NETWARE */
ed79a026 30# if defined( DOSISH) || defined(EPOC)
57843af0 31# define PERL_FILE_IS_ABSOLUTE(f) \
32 (*(f) == '/' \
33 || ((f)[0] && (f)[1] == ':')) /* drive name */
ed79a026 34# else /* NEITHER DOSISH NOR EPOCISH */
bf4acbe4 35# ifdef MACOS_TRADITIONAL
084592ab 36# define PERL_FILE_IS_ABSOLUTE(f) (strchr(f, ':') && *(f) != ':')
bf4acbe4 37# else /* !MACOS_TRADITIONAL */
38# define PERL_FILE_IS_ABSOLUTE(f) (*(f) == '/')
39# endif /* MACOS_TRADITIONAL */
57843af0 40# endif /* DOSISH */
2986a63f 41# endif /* NETWARE */
57843af0 42# endif /* WIN32 */
43#endif /* VMS */