April 29, 2006

Apache vs. IIS

apache调用关系图

IIS调用关系图

Posted by hufey at 10:14 AM | Comments (0) | TrackBack

April 27, 2006

留言簿


大英博物馆珍宝展留言簿

Posted by hufey at 01:45 PM | Comments (0) | TrackBack

手机射影 中山公园

Posted by hufey at 12:40 AM | Comments (0) | TrackBack

April 26, 2006

Quote and Quote-like Operators


While we usually think of quotes as literal values, in Perl they function as operators, providing various kinds of interpolating and pattern matching capabilities. Perl provides customary quote characters for these behaviors, but also provides a way for you to choose your quote character for any of them. In the following table, a {} represents any pair of delimiters you choose. Non-bracketing delimiters use the same character fore and aft, but the 4 sorts of brackets (round, angle, square, curly) will all nest.











CustomaryGenericMeaning Interpolates
'' q{} Literal no
"" qq{} Literal yes
`` qx{} Command yes (unless '' is delimiter)
qw{} Word list no
// m{} Pattern match yes
qr{} Pattern yes
s{}{} Substitution yes
tr{}{} Transliteration no (but see below)

Note that there can be whitespace between the operator and the quoting characters, except when # is being used as the quoting character. q#foo# is parsed as being the string foo, while q #foo# is the operator q followed by a comment. Its argument will be taken from the next line. This allows you to write:

s {foo} # Replace foo
{bar} # with bar.

Posted by hufey at 04:29 PM | Comments (0) | TrackBack

April 24, 2006

Perl Library Mechanics – 6 ways to add a library path

Perl Library Mechanics – 6 ways to add a library path

A ncode solutions technology guide – visit us at http://www.ncode.ch

Objectives

Run a perl script using libraries in non­standard locations.
We use the location /opt/special/plib for our samples.
Perl uses by default the array @INC as include path when searching for modules to load.
This path is
compiled into the perl binary when building it from source and can be printed by running
perl -V
, which will show something like:
..
Compiled at Jan 24 2004 21:39:16
@INC:
/etc/perl
/usr/lib/perl5/site_perl/5.8.0/i686-linux
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl/5.6.1
..

1. Using the module lib

The standard module lib can be used to specify an explicit path to include. It must be stated at the
top
of the script:
#!/usr/bin/perl
#
use lib "/opt/special/plib";
use strict;
use warnings;
..

2. Using the switch ­I at the command line

The switch ­I can be used to specify additional library locations when invoking the interpreter.
perl -I /opt/special/plib script.pl
23.09.2005 / Oli Kessler / info@ncode.ch © 2005 ncode solutions GmbH
Page 2

3. Using the switch ­I in the first line of the script

The same ­I switch can be added to the interpreter specification.
#!/usr/bin/perl -I /opt/special/plib
#
use strict;
use warnings;
..
This works when invoking the script via the shell (which will run the interpreter with full
options and arguments as specified in the first line) and also when invoking the interpreter
directly: It apparently scans the first line for options.

4. Manipulating @INC directly

The array @INC can be manipulated directly using array operations
#!/usr/bin/perl
#
BEGIN {
unshift(@INC, "/opt/special/plib");
}
use strict;
use warnings;
This is the same as using the module lib, which in fact does something like this.

5. Using the environment variable PERL5LIB

The environment variable PERL5LIB can be used to specify additional include directories when
running a perl script.
> export PERL5LIB=/opt/special/plib
> /path/to/script.pl

6. Changing @INC at compile time

When running
Configure
to compile the perl interpreter itself, there are several possibilities to add
additional library path elements:

Using the variable vendorprefix

Using the variable otherlibdirs
Both must be specified when calling Configure as a define, eg
> sh Configure -Dotherlibdirs=/opt/special/plib
The variable otherlibdirs is preferred, as it can hold mutliple values separated by a colon just like
the familiar PATH environment variable.
Details about compiling perl can be found on the CPAN network :

Posted by hufey at 06:12 PM | Comments (0) | TrackBack

April 17, 2006

中山公园


忙的我荒芜了blog

Posted by hufey at 06:20 PM | Comments (1) | TrackBack

April 02, 2006

北京之春



Posted by hufey at 10:08 PM | Comments (0) | TrackBack