...I can put out the data with
num name product star_posi end_posi 1 [gene=KIQ_00005] [protein=hypothetical [location=complement(<1..423)]
but I can not seperare the number of [location] and I can not delete [] of data...
To remove the square brackets from your text string you can do a regex substitution.
#!/usr/bin/perl;
use strict;
use warnings;
my $name = '[gene=KIQ_00005]';
print "$name\n";
my $character_to_remove = '\['; #add required escape character before [
$name =~ s/$character_to_remove//;# $name now contains gene=KIQ_00005]
print "$name\n";
$character_to_remove = '\]'; #add required escape character before ]
$name =~ s/$character_to_remove//;# $name now contains gene=KIQ_00005
print "$name\n";