问个关于常量访问的问题

问个关于常量访问的问题



[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl

use strict;
use warnings;
use constant TUBE => 0;
use constant ELBO => 1;

my %com = (
"gtype" => "TUBE",
);
print TUBE."\n";
#想要通过$com{gtype}返回的字符串所代表的常量值控制输出,(比如说常量TUBE的值)怎么实现呢?
print "$com{gtype}\n" if $com{gtype};

对于常量访问,是不需要加双引号的.
又见符号引用。
死也不告诉你们怎么做。叫你不用 hash。
想用PERL构建一个化工管道元件的基础类,然后用它实现化工三维设计数据库的操作
困难重重哈

我问这个问题的背景是:
化工管件的端面数是不一样的,比如书ELBO有三个,而TEE有两个
想根据管件的类型来动态生成三个或者两个端面,具体类型在CLASS C才能确定的
第一层:CLASS A 管件基本描述类, CLASS B 管件端面信息类;
第二层:CLASS C 具体管件的某个管件(继承A ,use B)。

PS:有点C++的基础,第一次使用PERL实现面向对象编程,稍微看了看了一下《PERL语言编程》。
那好,我来问你,如果是 C++,你该怎么做?
按照我问到的那种思路方式,用C++也是实现不了的,明白你的意思是叫我用hash代替constant使用。PERL实现面向对象搞得头都有点晕了,可能是没有充分明白它的思想吧。要找点比较典型一点的代码参考一下才行。谢谢版主!