Hi, I am trying to put stylesheet info into the header of my document. What is the correct syntax? (I am trying to refer to a .css file) Thanks.
-----Original Message----- From: Ovid [mailto:[EMAIL PROTECTED]] Sent: Tuesday, November 26, 2002 8:10 AM To: Octavian Rasnita; [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: tutorials --- Octavian Rasnita <[EMAIL PROTECTED]> wrote: > Yes, but a good tutorial for beginners doesn't include all the > advanced things. Yes. > It should be the simplest possible. Yes. > It should be not fully correct for all the cases but simple to > understand. Yes. But it should not be wrong. The information presented in CGI101 is simply, flat-out wrong. The course is 1. filled with cargo-cult code 2. bad coding style 3. poor security practices 4. handles file access incorrectly 5. doesn't use strict 6. no warnings 7. no taint checking I don't like to be that harsh about anything or anyone and writer of the course writes well, but the material is simply bad. There's no way to get around that or to justify exposing a new programmer to coding practices that he or she will have to *unlearn*. As for "simple to understand", here's an example taken from Elizabeth Castro's first book. This line is virtually identical to the one from CGI101 (there is only one character of difference between the two). I think this fails the "simple to understand" rule because brand-new programmers cannot tell me what it does, much less what the bug is. $value =~ s/%([a-fA-F0-9] [a-fA-F0-9])/pack("C", hex($1))/eg; > The reason most people that want to start programming in Perl change > their mind and use another programming language like PHP, or ASP, etc, > is that most examples are very complicated. Complicated? Here's a *good* way to grab form values: use CGI qw(:standard); my $first_name = param('first name'); my $last_name = param('last name'); my @colors = param('colors'); my $email = param('email'); That is not complicated. That is not even remotely complicated. You can compare that with the broken code from the CGI101 course and see that the above is *much* easier. As an added bonus, it works. The CGI101 code will fail to handle that for many reasons. I suppose we could argue that it's okay to let someone use poorly written, dangerous code on just their own box. Of course, the first time their box gets hacked as a result, they're going to be miserable. I've found plenty of examples of programmers using CGI101 style techniques who leave their boxes wide open to any attacker as a result. Of course, if they follow advice presented in my course, or in any of the (relatively few) excellent books on the subject, this is much less likely. Cheers, Ovid ===== "Ovid" on http://www.perlmonks.org/ Web Programming with Perl: http://users.easystreet.com/ovid/cgi_course/ Silence Is Evil: http://users.easystreet.com/ovid/philosophy/decency.txt __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]