1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!@PERL_PATH@ -0777
#
# +----------------------------------------------------------------------+
# | PHP HTML Embedded Scripting Language Version 3.0 |
# +----------------------------------------------------------------------+
# | Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
# +----------------------------------------------------------------------+
# | This program is free software; you can redistribute it and/or modify |
# | it under the terms of one of the following licenses: |
# | |
# | A) the GNU General Public License as published by the Free Software |
# | Foundation; either version 2 of the License, or (at your option) |
# | any later version. |
# | |
# | B) the PHP License as published by the PHP Development Team and |
# | included in the distribution in the file: LICENSE |
# | |
# | This program is distributed in the hope that it will be useful, |
# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# | GNU General Public License for more details. |
# | |
# | You should have received a copy of both licenses referred to here. |
# | If you did not, or have any questions about PHP licensing, please |
# | contact core@php.net. |
# +----------------------------------------------------------------------+
# | Authors: Ariel Shkedi <ars@ziplink.net> or <as@altavista.net> |
# | |
# +----------------------------------------------------------------------+
#
# $Id: funcparse.in,v 1.3 1998/04/29 13:24:00 ssb Exp $
while( <STDIN> ) {
/function_entry.*? # starts with this text + anything
{.*? # till first {
( # store this as $1
(?: # don't store the internal "loop" match
{.*?}.*? # non-greedy match { + anything + } + anything
)* # "loop" for all of them
) # store till here
} /six; # match closing }
$_ = $1;
while(/{\s* #starts with a { and whitespace
" # the open "
( # store this as $1
([^"\\]|\\.)*? # match anything, including \", that isn't a "
)
".*? # match end " then anything till
}/gsix) # closing }
{print "$1\n";}
}
|