For 2023 - we are now fully retired from IT training. We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here)) |
Bathtub example
I wrote a few days ago about the bathtub effect. Shorten code and it becomes easier to read. Shorten it too much and it becomes silly. Here's a Perl script that I wrote to report on all lines in a log file from host computer "seal" with a status code (next to last field) over 399:
open (FH,"../access_log.xyz") or die;
while ($line = <FH>) {
if ($line =~ /^seal\s/) {
@parts = split(/\s+/,$line);
if ($parts[-2] > 399) {
print $line;
}
}
}
And here is a shortened application which - if you look at it byte by byte - can do the same thing!
#!/usr/bin/perl -pa
(/^seal\s/&&$F[-2]>399)or$_=""
My point? Something IN BETWEEN would be, by far, best for the typical Perl programmer to understand and maintain. (written 2007-06-14)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles P210 - Perl - Topicalization and Special Variables [493] Running a Perl script within a PHP page - (2005-11-12) [639] Progress bars and other dynamic reports - (2006-03-09) [969] Perl - $_ and @_ - (2006-12-07) [1136] Buffering output - why it is done and issues raised in Tcl, Perl, Python and PHP - (2007-04-06) [1221] Bathtubs and pecking birds - (2007-06-07) [1289] Pure Perl - (2007-08-03) [1444] Using English can slow you right down! - (2007-11-25) [1508] How not to write Perl? - (2008-01-15) [1704] Finding operating system settings in Perl - (2008-07-10) [1705] Environment variables in Perl / use Env - (2008-07-11) [1728] A short Perl example - (2008-07-30) [1829] Dont bother to write a Perl program - (2008-10-10) [1860] Seven new intermediate Perl examples - (2008-10-30) [1922] Flurinci knows Raby Lae PHP and Jeve - (2008-12-04) [2833] Fresh Perl Teaching Examples - part 2 of 3 - (2010-06-27) [2876] Different perl examples - some corners I rarely explore - (2010-07-18) [2972] Some more advanced Perl examples from a recent course - (2010-09-27) [3449] Apache Internal Dummy Connection - what is it and what should I do with it? - (2011-09-19) [4301] Perl - still a very effective language indeed for extracting and reporting - (2014-09-20) [4395] Preparing data through a little bit of Perl - (2015-01-15) [4682] One line scripts - Awk, Perl and Ruby - (2016-05-20) [4700] Obfurscated code - it might work, but is it maintainable? - (2016-07-02)
Some other Articles
Trying things in PythonOutputting numbers as words - MySQL with Perl or PHPA review of a week and a trip to BruggeHorses of BruggeBathtub exampleSur le ContinentCommenting a Perl Regular ExpressionWhere am I?Some progress on the train campaignMelksham businesses - networking together
|
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|