in reply to On bad habits

> Excessive use of double quote interpolation - I'm really
> doing myself no favours with print "$variable"; but I use
> print "$variable\n"; very heavily so the " gets to be a
> reflex, even where I'm not using \n.

I must admit I also have this "weakness", although I happen to prefer:

print $var, "\n"; # but... print "$var\n" for @list; # or... print($var, "\n") for @list;

> Excessive use of foreach, where join or map would be preferable

You can eliminate this bad habit just by using for instead of foreach :-)

> Excessive use of eval. I've just about cured myself of
> that, since I found out how slow it is.

I don't think eval is slow. Eval'ing a string is slow, because IIRC it spawns a "new" interpreter, but eval'ing a block is ok.

> Using / as a regex separator, when the regex would be
> clearer with an alternative.

Yes, I'm also with you on this one, though at times I use the pipe char (|) instead of /.

> Using quoted strings where print <<END_BLOCK
> would make it clearer.

I'm with you here. Sometimes I don't "feel" using here docs, even if <<'       END_OF_TEXT' allows for clean indented blocks.

Just my € 0.02