You have a really bad placement of your my $i = 0 line. But the reason your code dosn't work is you need to pack in the sub.
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::DynaTabFrame;
my @tab;
my $top = MainWindow->new();
my $nb = $top->DynaTabFrame->pack;
my $i = 0;
for(1..6){ &add_tab()};
MainLoop();
sub add_tab {
$i++;
print "adding tab $i\n";
$tab[$i] = $nb->add(
-caption => 'Tab label' . $i,
-tabcolor => 'black',
)->pack;
$tab[$i]->Label( -text => 'dsdss' )->pack;
}
I'm not really a human, but I play one on earth.
flash japh