I'm running a
Perl Course this week ... a small group, so we can look at some very interesting constructs that I wouldn't normally cover / consider on a public course.
Comment out a block of code with an impossible condition
if (1 == 0) { ....
This is a great way to temporarily comment out a whole block of your code if you want to supress it for a while.
Toggle a variable between two values
$n = 3 - $n;
If $n was one before the statement, it becomes 2, and vice versa. The constant you use (3 in this case) is simply the sum of the two values you wish to toggle between.
Output an integer in binary
printf ("%b",$value);
sprintf and printf in Perl support the "b" formatter for binary - in addition to the more common "o" for Octal, "d" for decimal and "x" for hexadecimal.
All of these techniques together ...
# Some Perl Tricks
$n = 1;
if (1 == 0) {
print "This is a comment";
print "And so is this"; }
for ($k=1;$k<20;$k+=3) {
$n = 3 - $n;
printf ("%05b %2d %2d\n",$k,$n,$k); }
And when we run that:
grahamellis$ perl ppa
00001 2 1
00100 1 4
00111 2 7
01010 1 10
01101 2 13
10000 1 16
10011 2 19
grahamellis$ (written 2007-08-21 13:52:46)
Associated topics are indexed under
P103 - Perl - Variables and Operations [2442] Variable storage - Perl, Tcl and Python compared - (2009-10-08)
[1946] Variable Types in Perl - (2008-12-15)
[1448] Question on division (Java) - Also Perl, PHP, Python ... - (2007-11-28)
[748] Getting rid of variables after you have finished with them - (2006-06-06)
P107 - Perl - Formatting TextP202 - Perl Fundamentals [1826] Perl - Subs, Chop v Chomp, => v , - (2008-10-08)
[184] MTBF of coffee machines - (2005-01-20)
P207 - Perl - File Handling [2405] But I am reading from a file - no need to prompt (Perl) - (2009-09-14)
[2233] Transforming data in Perl using lists of lists and hashes of hashes - (2009-06-12)
[1861] Reactive (dynamic) formatting in Perl - (2008-10-31)
[1860] Seven new intermediate Perl examples - (2008-10-30)
[1841] Formatting with a leading + / Lua and Perl - (2008-10-15)
[1709] There is more that one way - Perl - (2008-07-14)
[1442] Reading a file multiple times - file pointers - (2007-11-23)
[1416] Good, steady, simple example - Perl file handling - (2007-10-30)
[867] Being sure to be positive in Perl - (2006-09-15)
[702] Iterators - expressions tha change each time you call them - (2006-04-27)
[618] Perl - its up to YOU to check your file opened - (2006-02-23)
[616] printf - a flawed but useful function - (2006-02-22)
[255] STDIN, STDOUT, STDERR and DATA - Perl file handles - (2005-03-23)
[114] Relative or absolute milkman - (2004-11-10)
[12] How many people in a room? - (2004-08-12)
Some other Articles
Filtering and altering Perl lists with grep and mapTwo years of campaigning for a train serviceBusiness travel by train in the USATratum TechnologiesSome one line Perl tips and techniquesWhat do people look for on a hotel web site?Callbacks - a more complex code sandwichDates for Easter - 2008 to 2015Good to be homeTroy, up state New York