The magic diamond-operator <> only works if you stuff the filenames into @ARGV. But you surely have tried that yourself and merely forgot to tell me that you found your code didn't work the way you wrote it.
I recommend you read up on open to learn how to open and read a single file and process that, and then proceed to do that in the loop:
use strict;
use File::DosGlob qw(bsd_glob);
my @files = glob 'ABi1*';
foreach my $file (@files) {
open my $fh, '<', $file
or die "Couldn't read '$file': $!";
while (<$fh>) {
... do your function
};
# EOF, do end of file cleanup
};