Assuming that the extension of File1.txt.bak is .bak and not .txt.bak, you should be able to use
Code:
#!\user\bin\perl -w
use File::Find;
use File::Basename;
# Current directory if nothing else was specified
@ARGV=qw(.) unless @ARGV;
my($s_LongestFileName);
# Set $s_Name to the filename and extension of the file under scrutiny; Set $s_LongestFileName to $s_FileName if $s_FileName is longer
find (\&CheckThisFile,@ARGV);
print length((fileparse($s_LongestFileName,'\.[^.]*'))[0]).":$s_LongestFileName\n";
sub CheckThisFile {
my($s_FileName)=$File::Find::name;
$s_LongestFileName=$s_FileName if length((fileparse($s_LongestFileName,'\.[^.]*'))[0]) < length((fileparse($s_FileName,'\.[^.]*'))[0]);
};