package Test; use constant { F1_N => 0, F2_N => 15, F3_N => 30, F4_N => 45, F5_N => 60, F6_N => 75, F7_N => 90, F8_N => 105, F9_N => 120, F10_N => 135, }; use constant { F1_L => 15, F2_L => 15, F3_L => 15, F4_L => 15, F5_L => 15, F6_L => 15, F7_L => 15, F8_L => 15, F9_L => 15, F10_L => 15, }; sub new { my $class = shift; my $self = shift // ''; return bless \$self, $class } # line 1 "sub_F4" sub Test::F4 :lvalue { my $self = shift; substr( $$self, F4_N(), F4_L() ); }