How to I add CGI::small()?

Most html tags can be generated by CGI.pm methods. The <SMALL></SMALL> tag is missing, however, How can I add it, without creating a derived class.

Max.
dwaterAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ozoCommented:
You could always just
print "<SMALL>...</SMALL>";

0
dwaterAuthor Commented:
Yes, this is what I've done, but it doesn't fit in with the rest of the script which uses the CGI:: methods. I wanted to make it all clean. I'm sure there are other html tags which aren't in the module but this is the only one I need which isn't.

Max.
0
ozoCommented:
You could also just add it to the module.
(even submit it to L. Stein so you'll be portable when he adds it)
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

dwaterAuthor Commented:
OK. I may well do this. I'm guessing this is the only way of doing it.

Thanks.

Max.
0
ozoCommented:
In Perl?  Surely not the "only way of doing it":-)

use CGI;
sub CGI::small {
          my $self = shift;
          print "<SMALL>@_</SMALL>\n";
}

0
dwaterAuthor Commented:
Great! Just what I'm after.

Although, I guess I don't want it to print the string, just return it. Correct?

Thanks.

Max.
0
ozoCommented:
Yes, return instead of print would fit in better with the other methods.
I only wanted to illustrate that it was possible, and got careless.
I'll check the CGI.pm source to if it wants a prototype to fit in, then post it as an answer.
0
ozoCommented:
One way to do it:

sub CGI::small {
          my($self,@p) = CGI::self_or_default(@_);
          return "<SMALL>@p</SMALL>\n";
}

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
dwaterAuthor Commented:
Actually, I found a preferable solution, which is documented in the CGI.pm file and read using the command 'pod2text CGI.pm' - pod2text is one of a family supplied with CPAN which consists of pod2html, pod2latex, pod2man, pod2text.

The relevant part of the text is :-

  Generating new HTML tags

    Since no mere mortal can keep up with Netscape and Microsoft
    as they battle it out for control of HTML, the code that
    generates HTML tags is general and extensible. You can create
    new HTML tags freely just by referring to them on the import
    line:

            use CGI shortcuts,winkin,blinkin,nod;

    Now, in addition to the standard CGI shortcuts, you've
    created HTML tags named "winkin", "blinkin" and "nod". You
    can use them like this:

            print blinkin {color=>'blue',rate=>'fast'},"Yahoo!";
            # <blinkin COLOR="blue" RATE="fast">Yahoo!</blinkin>

I supplied this information, just for the record.

Max.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Scripting Languages

From novice to tech pro — start learning today.