pme has asked for the wisdom of the Perl Monks concerning the following question:
Just for curiosity I tried to use utf characters as subroutine names. My first attempt was using the Greek summa (Σ) as subroutine name. And it works well. Then I tried the integral sign (∫) and it just fails miserably.
Could someone tell me what is the character set of a valid perl code?Illegal declaration of anonymous subroutine at ./utf-2.pl line 8 (#1) (F) When using the sub keyword to construct an anonymous subroutin +e, you must always specify a block of code. See perlsub.
Unfortunately utf encoded characters displayed as they were entered below, in the <code> section. My perl version is v5.26.2.
#!/usr/local/bin/perl use strict; use warnings; use utf8; use open qw(:std :utf8); #sub ∫ # Integral, vim: insert mode ctrl-k In #{ # return 88; #} sub Σ # Summa, vim: insert mode ctrl-k S* { my $sum; $sum += $_ for (@_); return $sum; } die "Usage: $0 4 3 6...\n" unless @ARGV; print 'Σ: »', Σ(@ARGV), "«\n"; #print '∫: »', ∫(@ARGV), "«\n"; exit 0;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: UTF encoded subroutine names
by haukex (Archbishop) on Jan 30, 2021 at 10:48 UTC | |
by pme (Monsignor) on Jan 30, 2021 at 10:55 UTC | |
by haukex (Archbishop) on Jan 30, 2021 at 10:57 UTC | |
by pme (Monsignor) on Jan 31, 2021 at 11:15 UTC | |
by haukex (Archbishop) on Jan 31, 2021 at 15:52 UTC |