in reply to General Purpose String Padding

I'd write that more concisely but essentially the same way. defined($pad_char) is preferred because the pad string might '0'.

sub my_pad { my ($s, $max_length, $dir, $pad_char) = @_; my $pad_string = (defined $pad_char ? $pad_char : ' ' ) x ($max_leng +th - length $s); return $dir eq 'R' ? $s . $pad_string : $pad_string . $s; }

In perl 5.10, it's shorter because of the new err operator. That's an import from perl 6.

  my $pad_string = ( $pad_char err ' ' ) x ( $max_length - length $s );

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊