in reply to Error Unitialized value and use

G'day tryingnottofailmytes,

Well, you do initialize them near the beginning of your script:

my $annotation = ''; my $dna = '';

Their next appearance in your script is:

($annotation, $dna) = ($record =~ /^(LOCUS.*ORIGIN\s*\n)(.*)\/\/\n/s);

where, presumably, you're setting both to undef (i.e. uninitialized).

When you then use them in the print statement on the following line:

print "$annotation, $dna\n";

you get a warning about this.

For the other part of your question, see the use documentation.

— Ken