variable references into a conventional SQL string and list
of bind values suitable for passing onto DBI. This simple
technique creates database calls that are simpler to create
and easier to read, while still giving you full access to
custom SQL.
SQL::Interp properly binds or escapes variables. This recommended
practice safeguards against "SQL injection" attacks. The DBI
documentation has several links on the topic.
Besides the simple techniques shown above, The SQL-Interpolate
distribution includes the optional DBIx::Interp module.
WWW: http://search.cpan.org/dist/SQL-Interp/
This is the FreeBSD Ports Collection. For an easy to use
WEB-based interface to it, please see:
http://www.FreeBSD.org/ports
For general information on the Ports Collection, please see the
FreeBSD Handbook ports section which is available from:
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html
for the latest official version
or:
The ports(7) manual page (man ports).
These will explain how to use ports and packages.
If you would like to search for a port, you can do so easily by
saying (in /usr/ports):
make search name="<name>"
or:
make search key="<keyword>"
which will generate a list of all ports matching <name> or <keyword>.
make search also supports wildcards, such as:
make search name="gtk*"
For information about contributing to FreeBSD ports, please see the Porter's
Handbook, available at:
http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/
NOTE: This tree will GROW significantly in size during normal usage!
The distribution tar files can and do accumulate in /usr/ports/distfiles,
and the individual ports will also use up lots of space in their work
subdirectories unless you remember to "make clean" after you're done
building a given port. /usr/ports/distfiles can also be periodically
cleaned without ill-effect.