Here's your program modified to work with use strict:
#!/usr/bin/perl
use strict;
use warnings;
my $input_data = << 'REPORT_OF_INPUT';
Bet01;;Bet05;;Bet06;;Bet12;;
230;238;101;103;138;146;112;116;;
230;238;101;103;146;146;108;112;;
224;238;0;0;146;146;110;118;;
238;238;0;0;146;146;112;114;;
REPORT_OF_INPUT
my @inputs = split "\n", $input_data;
my $line = shift @inputs;
$line =~ s/;;/;/g;
my @loci_codes = split ";", $line;
my %LOCI;
foreach my $line ( @inputs )
{
my @alelos = split ";", $line;
foreach my $locus ( @loci_codes )
{
my $allele1 = shift @alelos;
my $allele2 = shift @alelos;
$LOCI{$locus}{$allele1} += 1;
$LOCI{$locus}{$allele2} += 1;
}
}
foreach my $locus ( @loci_codes )
{
foreach my $key ( keys ( %{$LOCI{$locus}} ) )
{
print "$locus ", $key, " = ", $LOCI{$locus}{$key}, "\n";
}
}
Is that so hard?
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'