is that the _only_ warning given? What does print join ':', @_; show (so we can see what's in there)? Or may the context in which the sub is being called? This code works fine for me w/no warnings:
use strict;
use warnings;
my %data = ( FLOATER => 'N', BLAH=>2);
warn $data{'FLOATER'};
print $data{'FLOATER'}."<-----------\n";
warn 'ok' if $data{'FLOATER'} eq 'Y';