$ cat t.pl
#!/usr/bin/perl
use strict; use warnings;
my $n = <>;
print "Direct translation\n";
for (my $i=$n; $i > 0; $i--) {
for (my $j=0; $j < $i; $j++) {
print "*";
}
print "\n";
}
####
print "A bit more perlish: convert C-style for loops\n"
. "into perl style for loops\n";
for my $i (reverse 1 .. $n) {
for my $j (0 .. $i) {
print "*";
}
print "\n";
}
####
print "Yet more perlishiosness: use the for statement modifier\n";
for my $i (reverse 1 .. $n) {
print "*" for 0 .. $i;;
print "\n";
}
####
print "Not enough perlbell: use 'x' operator for inner loop\n";
for my $i (reverse 1 .. $n) {
print "*" x $i, "\n";
}
####
print "Jumping the shark: adding some per(i)lousness\n";
print map { "*" x $_, "\n" } reverse 1 .. $n;