in reply to Argument isn't numeric in numeric ge

Perl provides the C, isprint() function as isPRINT() which tests whether or not a character is printable. http://perldoc.perl.org/perlclib.html#Character-Class-Tests. I would consider using that to filter out these unprintable characters that seem to be messing up the comparison.

Perhaps using regex:

#!/usr/bin/perl -w use strict; my $version_on_disk = "\aabfd\nadsf\n\n555"; my $version_dns ="lkjh\a\n\r\n\a89"; foreach ($version_on_disk, $version_dns) { $_ =~ s/[^[:print:]]//g; #delete non-printable chars } print "$version_on_disk $version_dns\n"; #prints: abfdadsf555 lkjh89