Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^3: Spaghetti code...

by ph713 (Pilgrim)
on Oct 12, 2005 at 03:37 UTC ( #499355=note: print w/replies, xml ) Need Help??


in reply to Re^2: Spaghetti code...
in thread Spaghetti code...

You can also turn code into spaghetti without any unstructured branching constructs, just by judiciously using horrible coding practices in general. I submit to you a snippet from a perl script I wrote some years ago, which is just downright embarassing these days. Note especially the embedded SQL and HTML (with embedded javascript to boot) in the middle of my perl mere lines apart, the obscure variable names, the direct use of array members and references to them, the sloppy formatting, the ultra-long lines, and the painful use of the ternary ? : operator:

$ref=$dbh->selectall_arrayref("SELECT transc.id,transc.state,transc.st +art_date,transc.phys_name,transc.mt_name,org.orgname FROM transc JOIN + org ON (transc.org_id = org.id) WHERE ( transc.state = 4 AND transc. +qa_name='$userinfo{name}' ) OR ( transc.state = 2 AND transc.mt_name= +'$userinfo{name}' ) ORDER BY transc.id"); foreach my $x (@{$ref}) { my $compdis = (filesexist($$x[0],"t") ? "" : qq{disabled="disabled"} +); $$x[2]=~s/...$//; $selfjobs .= qq{<tr><td>$$x[0]</td><td>$whichtype{$$x[1]}</td><td>$$ +x[2]</td><td>$$x[5]</td><td>$$x[3]</td><td>$$x[4]</td><td><input type +="button" value="Files..." onclick='window.location.replace("?fa=$$x[ +0]")' /><input type="submit" value="Complete" onclick='setja($$x[0]," +complete")' $compdis /></td></tr>\n}; }

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://499355]
help
Chatterbox?
[james28909]: like all the subs calling get_data get_array get_ect, you could just use get_data. once you send the data to get_data, check if it is a hash or an array ect. and do functions for each, in one sub
[james28909]: that looks like it would be alot more work than just renaming the sub though lol
[Lady_Aleena]: james28909, did you even look at the subs?
[james28909]: yes
[Lady_Aleena]: And you see how the first two are vastly different than the third, right?

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2017-05-24 04:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?