#!/usr/bin/perl use strict; use warnings; my @values = ( ['T',20,'H'], ['Hallo',3,'Welt'], ['Test',1035,'Eintrag'], ); my $length = 6; print sprintf "%-7s| %s |%9s\n",'col1','col2','col3'; for my $ref ( @values ){ print_formatted( $length, @$ref ); } sub print_formatted{ my ($max,$t1,$zahl,$t2) = @_; my ($rand) = int( ($max - length $zahl) / 2 ); my $right = $max - $rand - length $zahl; my $format = "%-7s|%*s%s%*s|%9s\n"; print sprintf $format, $t1,$rand,' ',$zahl,$right,' ',$t2; }