sub max_columns{ my ($self,$value) = @_; $self->{max_cols} = $value if defined $value and $value =~ /^[1-9]\d*$/; my $caller = (caller(1))[3]; unless( ($caller and $caller =~ /min_columns/) or not defined $self->min_columns){ $self->min_columns($self->{max_cols}) if $self->{max_cols} < $self->min_columns; } return $self->{max_cols}; } =head2 min_columns set how many columns the table can have (at least). $tabulator->min_columns(3); the table has at least three columns =cut sub min_columns{ my ($self,$value) = @_; $self->{min_cols} = $value if defined $value and $value =~ /^[1-9]\d*$/; my $caller = (caller(1))[3]; unless( $caller and $caller =~ /max_columns/){ $self->max_columns($self->{min_cols}) if $self->{min_cols} > $self->max_columns; } return $self->{min_cols}; }