Perl reference: Difference between revisions
from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
→Escape Sequences: file test operators |
→File Test Operators: special variables |
||
| Line 75: | Line 75: | ||
|- | |- | ||
| '''-A''' || Number of days since file was last accessed | | '''-A''' || Number of days since file was last accessed | ||
|} | |||
==Special Variables== | |||
{| | |||
|- | |||
| '''@ARGV''' || array of command-line arguments with which Perl was invoked | |||
|- | |||
| '''%ENV''' || hash of all environment variables (see http://vbz.net/cgi-bin/env for a sample listing) | |||
|- | |||
| '''$_''' || default argument for many functions | |||
|- | |||
| '''@_''' || list of arguments passed to subroutine (usually in parentheses) | |||
|- | |||
| '''$0''' || name of Perl program file (the outermost one, and just the name without any path) | |||
|- | |||
| '''$]''' || version number of the Perl interpreter | |||
|- | |||
| '''$<''' || username of user running the Perl script (may not be very useful for CGI because Apache always executes as the same user) | |||
|- | |||
| '''$^X''' || [[filespec]] of the Perl interpreter | |||
|- | |||
| '''$/''' || not sure what this does | |||
|- | |||
| '''$<u>n</u>''' || used within [[Perl regex|regular expressions]] to indicate that the matched section in parentheses should be used here (first matched parentheses becomes $1, second becomes $2, etc.) | |||
|} | |} | ||
Revision as of 22:17, 12 March 2006
Reference for various things in Perl. See also Perl built-in functions.
Escape Sequences
| \a | bell (ctrl-G, 007 decimal) |
| \b | backspace (ctrl-H, 008 decimal) |
| \cn | ctrl-n |
| \e | ESC (027 decimal, 033 octal) |
| \f | FF |
| \l | converts next letter to lowercase |
| \n | newline - system-dependent (CRLF on DOS/Win) |
| \r | CR (013 decimal) |
| \t | TAB (ctrl-I, 009 decimal) |
| \u | converts next letter to uppercase |
| \L | converts all characters to lowercase, from here to next \E |
| \U | converts all characters to uppercase, from here to next \E |
| \E | ends case conversion started by \L or \U |
| \' | prints a literal single-quote |
| \" | prints a literal double-quote |
| \$ | prints a literal dollar sign |
| \\ | prints a literal backslash (not doubled) |
| \0nnn | prints the ASCII character numbered nnn in octal |
| \xnn | prints the ASCII character numbered nn in hexadecimal |
File Test Operators
All operators are used like this:
-x $filename
| -r | Is the file readable? |
| -w | Is the file writable? |
| -x | Is the file executable? |
| -e | Does the file exist? |
| -z | Is the file empty? (i.e. zero bytes) |
| -s | File length in bytes |
| -f | Is the file an ordinary file? |
| -d | Is the file a directory? |
| -l | Is the file a symbolic link? (UNIX/Linux only) |
| -p | Is file a named pipe? |
| -S | Is the file a socket? |
| -T | Is the file a text file? |
| -B | Is the file a binary file? (!-T) |
| -M | Number of days since file was last modified |
| -A | Number of days since file was last accessed |
Special Variables
| @ARGV | array of command-line arguments with which Perl was invoked |
| %ENV | hash of all environment variables (see http://vbz.net/cgi-bin/env for a sample listing) |
| $_ | default argument for many functions |
| @_ | list of arguments passed to subroutine (usually in parentheses) |
| $0 | name of Perl program file (the outermost one, and just the name without any path) |
| $] | version number of the Perl interpreter |
| $< | username of user running the Perl script (may not be very useful for CGI because Apache always executes as the same user) |
| $^X | filespec of the Perl interpreter |
| $/ | not sure what this does |
| $n | used within regular expressions to indicate that the matched section in parentheses should be used here (first matched parentheses becomes $1, second becomes $2, etc.) |
