I use an editor that :
1. Converts tab to spaces on save (tabstop set to 2 == company standard)
2. Tab indents by one tabstop
3. Shift-tab outdents one tabstop.
4. Auto-indent is ON for <current language>
That's all you need, ever, no hard tabs.
IMHO, any editor that doesn't/can't do that is broken.
I often have code that is indented 8 levels and a line length of 150 chars total. Giving 8*8=64 chars to indent, rather than 8*2=16 seems crazy and would annoy me all day, every day.
Edit: I also like aligning, particularly =, and/or, hash assignments and arguments, again using spaces for all for these. That's for eye appeal as much as readability.
my $short = 5;
my $longer = 6;
my $wheels = {
unicycle => 1,
bike => 2,
car => 4,
};
if ( $a == 3 and
$long_name == 4567 and
$is_tuesday
) {