Dipende cosa intendi.

Il Perl non è un linguaggio 'tipato', cioè non fa una vera differenza tra numeri (interi, float, double, ecc.) e caratteri (char, stringhe, ecc.). Il che significa che per Perl
$ab = 1;
e
$ab = '1';

equivalgono, mentre in C e in Java il primo sarebbe un numero 'int' il secondo sarebbe una char.

Per cui puoi usare metodi indiretti come quelli suggeriti da Mich_, in particolare suggerisco:

if ($var =~ /[^0-9]/) {
print "Non è un numero\n";
}

che ti dice che se nella variabile è contenuto alcunchè, in qualunque posizione, non sia un numero, tutto è un NON numero (char o stringa), altrimenti è un numero.