Perl's Special Variables
Grok Headline matches for Perl's Special Variables
Perl's Extreme Makeover
Perl's Extreme Makeover
02/18/2004 04:06 PMParsing XML documents with Perl's
XML::Simple
Parsing XML documents with Perl's
XML::Simple
09/20/2004 12:46 AMCNET Sep 20 2004 4:09AM GMT
Reading ID3 tags with Perl's MP3::Tag
module
Reading ID3 tags with Perl's MP3::Tag
module
08/23/2004 02:46 AMCNET Aug 23 2004 7:14AM GMT
Discover Perl's File::Find module
Discover Perl's File::Find module
09/14/2002 11:12 PMCNET Sep 14 2002 10:03PM ET
PHP Application Variables
PHP Application Variables
07/02/2002 09:57 AMPredefined Variables
Predefined Variables
06/09/2004 03:40 PMVariable Variables in PHP
Variable Variables in PHP
12/19/2002 10:43 PMVariable Variables in PHP
Well since it's late but I'm still grinding and I feel guilty for not
blogging much today, here's a special PHP Treat: A Variable Variable
Tutorial. Yes that's right. There is a feature in PHP called
"Variable Variables".
One of the issues that I had with implementing our Digibuy support was
our old friend and enemy: Parsing. This is such a fundamental thing
but there always seems to be a new wrinkle in it. In this case we had
an existing PHP script which did our registration calculations and was
expecting a certain set of variables. Now this code was fairly
complex and I didn't want to re-write it (much). Here's the input
data we had to parse:
author_id=BillBrown & author_password=HemosRules &
prod_sku=98079949999
With the exception that it had like 30 odd variables in it. Since my
code was expecting a series of variables I needed to parse this and
automatically create a series of variables like $author_id and
$author_password. Now if this data was being given to me by a URL
then it would be easy -- PHP could automatically do it or I could just
pull them out of $_REQUEST. But, instead, I had them going to me as
if they were a file. So ... How do you create a series of variables
on the fly?
Note: Yes I could have made an associative array but that wouldn't
have taught me anything, now would it ? I could also have gotten a
similar effect with the extract function but I found out about that
after this working. And if the code is working then ...
Well deep in the recesses of what I call a brain was a recollection of
"variable variables". I think I heard about this in a talk that
Rasmus gave although I can't honestly be sure. I do know that
whenever you need to do "meta" type tasks like this in a language, you
need to poke around the oddball features since that's usually where
they reside. What I do is look for the sections of the documentation
that I've never read. The idea behind a variable variable is simple:
interpret the value of a variable and make it into a variable itself.
I.e. the "variable variable" nomenclature.
Since php uses $ for indicating a variable they've chosen to use $$ to
make a variable variable. Let's say you have two variables, $part1
and $part2. If $part1 = "author_id" and $part2="HemosRules" how do I
get to $author_id = "HemosRules". Simple: $$part1 = $part2. Yup.
It's just that easy. Of course I did need to wrap it into a string
parsing loop. Here's the guts of it:
$strarray = explode("&",$input); foreach ($strarray as $stritem) {
$stritem = trim($stritem); $part1 = substr ( $stritem, 0, strpos
( $stritem,"=" ) ); $part2 = substr ( $stritem, strpos (
$stritem,"=" )+1, strlen ( $stritem ) ); #magic! $$ is a "variable
variable" i.e. it converts the value #in the variable into a
variable itself $$part1 = $part2; }
The way this works is an input string, $input, contains everything
that needs to be processed. First I explode this into an array using
"&" as the delimiter. Then I loop over the array with a foreach loop
creating a $part1 variable and a $part2 variable. Finally I just do
the magic $$part1 = $part2.
Here's the example Source Code.
Here's the working Example
Thanks again to my favorite Systems Administrator, Apokalyptik, for
showing me how to use PHP to generate code listings. Much easier than
pasting it into a blog entry.
More on Variable Variables from PHP.Net: [_Go_]
Variable Variables. A little confusing but definitely a frothy good
thing!
Object-Variables-0.9
Object-Variables-0.9
07/30/2004 12:14 AMObject-Variables-0.5
Object-Variables-0.5
07/27/2004 12:28 AMAn Introduction to Variables
An Introduction to Variables
11/27/2002 09:47 PM
This is only for those who are new to php, or maybe programming
altogether. This won't 'enlighten' you, or make you 'one with
everything', but it should make you one with variables.
Variables and Paths
Variables and Paths
06/26/2002 07:05 PMIn this month's Q&A column, John Simpson answers questions about XSLT
variables and XML document paths.
Application Variables in PHP
Application Variables in PHP
07/01/2002 08:29 AMThis is the first article of several on developing an architecture
for Enterprise PHP, where we are running dedicated PHP servers tuned
to serve large number of web pages. This work originated in the need
to save the current working database connection as an Application
variable in a primary and fallback database server configuration. This
can be extended to saving other configuration information that rarely
changes... -- John Lim
"zeldman.jayne"
Application Variables with PHP
Application Variables with PHP
08/05/2002 10:44 PMOne of the most common feature requests that PHP developers ask for is
application variables. These are variables that are globally available
to all PHP scripts on a web server. There are currently several
implementations.
Tunneling Variables
Tunneling Variables
04/09/2004 04:09 PMIn Bob DuCharme's latest Transforming XML column he explains the use
and virtues of XSLT 2.0's tunneled variables.
Object-Variables-0.4
Object-Variables-0.4
07/25/2004 06:12 AMInternal Variables for Use in Your
Scripts
Internal Variables for Use in Your
Scripts
08/15/2004 07:36 PMHash variables in Perl
Hash variables in Perl
08/23/2004 02:48 AMCNET Aug 23 2004 7:15AM GMT
PHP Static Class Variables
PHP Static Class Variables
12/02/2002 01:17 PMStatic class variables are variables that are shared among all
instances
of a particular class. Although PHP supports static variables in
functions,
it has no support for static variables in classes. This functionality
can be pretty important in some situations, and I will now describe
a way to simulate it.
Using hash variables in Perl
Using hash variables in Perl
05/03/2004 09:19 AMCNET May 3 2004 1:48PM GMT
Variables used by the Status Filter
Variables used by the Status Filter
04/15/2004 02:26 PMUsing variables in Windows batch files
Using variables in Windows batch files
08/29/2004 02:23 PMTech-Recipes Aug 29 2004 6:35PM GMT
A Guide to Basic Variables That Add To
Site Value
A Guide to Basic Variables That Add To
Site Value
03/17/2005 02:32 AMNice checklist of items to cover before buying or selling a site.
Templates with patTemplate, and Form
Variables
Templates with patTemplate, and Form
Variables
05/30/2002 08:10 AMLearning Cocoa: Repurposing Variables
Learning Cocoa: Repurposing Variables
01/18/2004 02:48 PMSet Roby: "By now we know that every variable is really just a bunch
of bits, which we can look at a certain way and read as an integer, a
pointer, or whatever else we need to remember. Well, what else do we
want to remember?"
The Fuzzy Blog on Varaible Variables
The Fuzzy Blog on Varaible Variables
12/20/2002 08:49 AMSysAdmin to SysAdmin: Perl's Tie::File
module
SysAdmin to SysAdmin: Perl's Tie::File
module
06/02/2004 03:50 AMTwo factors outshine all others as reasons I became a systems
administrator. The first is that, well, I like computers and
computing. The second is that I'm not particularly fond of writing
code. If I were, I'd probably be a programmer. As it stands, if I can
find tools that work, I won't write code. However, inevitably, some
site-specific situation will come up for which I have no choice. In
that case, I at least want to write very little code. Perl's Tie::File
has helped me do that on more than one occasion.
Unprivilegued settings for FreeBSD
kernel variables
Unprivilegued settings for FreeBSD
kernel variables
06/15/2004 01:41 PMRadko Keves (Jun 14 2004)
Working with Environment variables -
Add, Remove and Retrieve
Working with Environment variables -
Add, Remove and Retrieve
12/24/2004 12:49 PMRe: Unprivilegued settings for FreeBSD
kernel variables
Re: Unprivilegued settings for FreeBSD
kernel variables
06/16/2004 06:16 PMDag-Erling Smørgrav (Jun 15 2004)
Keep track of stopped processes via
shell variables
Keep track of stopped processes via
shell variables
12/15/2003 11:45 AMEarlier hints discuss how to suspend and resume processes via kill --
very helpful to me, because I had been launching apps from Terminal
and using ^Z, fg and bg to manage them. A summary of previous hints:
kill -STOP and kil...
Setting the %DSDIT%, %DSLOG%, and
%SYSVOL% Variables
Setting the %DSDIT%, %DSLOG%, and
%SYSVOL% Variables
09/10/2004 01:53 AMCopy variables from command line to GUI
environments
Copy variables from command line to GUI
environments
07/22/2004 09:59 AMIf you use the UNIX command line environment under OS X, you probably
know that the environment symbols you set up in your .bashrc file are
not reflected in the GUI environment. In the GUI environment, symbol
values are read...
MDN: Special
MDN: Special
06/22/2005 02:21 AMFor that special someone
For that special someone
12/12/2003 05:39 AMOh Come All Ye faithful
comeallyefaithful.co.uk
track this
site | 4 links
Round Up: Not that special
Round Up: Not that special
06/16/2004 06:08 PMnewmediazero Jun 16 2004 9:21PM GMT
Special effects
Special effects
11/17/2003 05:44 AMMacleans Online Nov 17 2003 5:12AM ET
Kellogg's Special K Day
Kellogg's Special K Day
04/22/2004 12:04 PMThe food maker delivers some energized earnings.
Disappearing: Her Special Act
Disappearing: Her Special Act
07/08/2004 07:17 PMThe best of her Conceptualist art, as seen at the Whitney Museum,
takes the form of outdoor performances and site-specific sculptures.
a special section
a special section
12/31/2004 12:43 PMLabourStart
labourstart.org/tsunami
track this
site | 3 links
Grok Description matches for Perl's Special Variables
GrokA matches for Perl's Special Variables
Perl's Special Variables