in reply to Re: How's My Style Now?
in thread How's My Style Now?
I agree with your suggestion here. However, let me tell you a little about the genealogy of this bit of code, because there's another stage to come and I'd like a suggestion about how to complete this. For links I used to have something like this:
a({href=>"/cgi-bin/musing.cgi?musing_id=$musing_id"}, $musing_heading)This worked fine for a long time. However, I would change occasionally the name of a script or move it to a different directory. For example, musing.cgi used to be called web_log.cgi. Then I'd have to go through my scripts and other places where script names were contained and change it. Last year I came up with the idea of entering the names of all of my scripts in a table in MySQL I named site_scripts. Now if I want to change the name of a script or location of a script, I change it in my site_scripts table in MySQL. I just use the same key name (e.g., musing) to retrieve it. This has worked well for me so far.
Now what I want to do is to add the particular ID for the script. For instance, for a musing I generally have musing_id as the CGI variable name. For it, I'd like to change '?musing_id=' to something less hard-coded to something like this:
a({href=>scripts->{'musing'}->{'script'} . '?' . script_ids->{'musing'}->{'id'} . '=' $musing_id}, $musing_heading)To tighten this up more, and to reduce the interpolation you mention, I could add the ? and the = to the hash containing the id label. Of course, once I have this problem worked out, I can have a sub-routine for my hyperlinks: hyperlink('musing',$musing_id,$musing_heading)
That would be so much nicer, wouldn't it? It would be simple to set up another column in my site_scripts table in MySQL to hold the ID label. However, for some scripts I need more than one CGI variable: /cgi-bin/musing.cgi?musing_id=$musing_id&ref_id=$ref_id. That might also through off my hyperlink() idea. So, any suggestions on how I might organize multiple ID possibilities in MySQL or how to sort through them in Perl when deployed with a function?
-Spenser
That's Spenser, with an "s" like the detective.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: How's My Style Now?
by YuckFoo (Abbot) on Feb 10, 2010 at 22:04 UTC |