Unicode problem with ActivePerl 5.6.0 b623

J

Jesper Bork

I have a large Perl application which I'm trying to port from ActivePerl
5.005 series to 5.6 series, however, while most things works as usual, I get
the following error message

Can't find unicode character property definition via main->r or r.pl at
unicode/Is/r.pl line 0

when invoking the method below

sub getFileCodeSection {
# Create the code section
# Arguments:
# 1: Object instance
# 2: Filename (just in case - probably not used!)
# Return Value:
# GOOD: the code section in a string
# BAD: 0
my $self = shift;
my $pathname = shift;
my ($filename, $type, $code, $keyword, $fullname, $username,
$classname);
my ($packagename);

# Remove the path from filename
$filename = DapUtil::getFileNameFromPath ($pathname);

# Get the name of the primary class in the file
$classname = DapUtil::getFileBaseNameFromPath ($filename);

# Get the username and fullname of the current user
$username = $self->{'username'};
$fullname = $self->{'fullname'};

# Ask the VersionControlSystem for the Revision Keyword
if (Environment::isUsingVersionControl ($ENV{'Project_Name'})) {
$keyword =
ToolFactory::getCurrentVersionControlSystem()->getRevisionNumberKeyword();
} else {
$keyword = '';
}

# Generate the package name to be used for this file.
# The packagename is constructed relative to the "java-code-container"
directory.
# The "java-code-container" directory is constructed by looking up the
path for
# a directory of a special name. If none of the special names are found,
then there
# is not put any "package" statement in the file.
# The priority of the special names are:
# 1: src\java
# 2: src
# 3: test
# We search case-insensitively!
if ($pathname =~ /\\src\\java\\(.+)$/i) {
# The path following src\java is now in $1
$packagename = $1;
} elsif ($pathname =~ /\\src\\(.+)$/i) {
# The path following src is now in $1
$packagename = $1;
} elsif ($pathname =~ /\\test\\(.+)$/i) {
# The path following test is now in $1
$packagename = $1;
} else {
$packagename = '';
}

# Remove filename from rest-path
$packagename =~ s/\\[^\\]+$//;

# Exchange backslashes with dots
$packagename =~ tr/\\/\./;

if ($packagename ne '') {
$code = "package $packagename;\n\n";
}

$code .= <<"MARK";
/*---
Imports -------------------------------------------------------------*/


/*---
Classes -------------------------------------------------------------*/

/**
* Interface description.
*
* \@see java.lang.Object
* \@author $fullname ($username)
* \@version $keyword
*
**/
public interface $classname
{

}

MARK

return $code;
}

The method above does not imply any use of Unicode to me, however, it is
correct that no r.pl file exists - they seem only to exist for a certain
subset of characters - I've looked through the ActivePerl 5.6.1 build 635
and no r.pl exists there neither.

Any ideas, hints ?!

best regards,
Jesper Bork
FKI Logistex
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top