Pl'))) {
            $self->_add_child($_);
        }
    }
}

__PACKAGE__->meta->make_immutable;

1;

A:

The problem is I believe here.
use Program::Types qw(Pl LocalPl TwoDigNum Pattern);

You're importing a function named Pattern into your Program::Plist::Pl class. You then call this function (unintentionally) here:
    my $pattern_obj = Program::Plist::Pl::Pattern->new(name => $name,
                                                   mask_data => $mask_data,
                                                   tags => $tags);

Specifically Program::Plist::Pl::Pattern resolves to your fully qualified function name rather than to the Class (technically package name) you're expecting. This function returns a TypeObject which you then call new() on.
Note: This is exactly what phaylon suggests in the comments above.
There really is no way to debug this except to know that you can always call a function with it's fully qualified name, and thus should never have a MooseX::Type and a valid Class name collide. 
If it were me I'd start writing a very simple test case and add code to replicate the original file until it breaks. I'd probably start with the call to new. Then slowly add back assumptions until I found the one that breaks. Hopefully you add the MooseX::Types call early enough in that process that it triggers the "oh duh obviously that is it" moment.

 Q:

r: convert data into another format

in an experiment I investigated effort in different tasks with two tools.
So I got the following results:
  Task1ToolA Task1ToolB Task2ToolA Task2ToolB
P1     3          NA         NA          4
P2     NA         4          5           NA
P3     2          NA         NA          3

P1, P2, P3 are my test persons. My variables are Task1ToolA, Task1ToolB, Task2ToolA, Task2ToolB.
I think for evaluation and plotting, I better had the following:
     EffortTask1 ToolOfTask1 EffortTask2 ToolOfTask2
P1     3              A           4           B
P2     4              
Pl') )) { 
             $ self->_add_child($ _); 
         } 
     } 
 } 

 _ _ PACKAGE__->meta->make_immutable; 

 1; 

 A: 

 The problem is I believe here. 
 use Program::Types qw(Pl LocalPl TwoDigNum Pattern); 

 You're spell a affair named Pattern into your Program::Plist::Pl class. You then call this routine (unintentionally) here: 
     my $ pattern_obj = Program::Plist::Pl::Pattern->new(name = > $ name, 
                                                    mask_data = > $ mask_data, 
                                                    tags = > $ tags); 

 Specifically Program::Plist::Pl::Pattern resolution to your in full qualified affair name rather than to the Class (technically package name) you're expect. This function returns a TypeObject which you then predict newfangled () on. 
 Note: This is exactly what phaylon suggests in the comments above. 
 There really is no manner to debug this except to know that you can always call a routine with it's fully qualified name, and thus should never have a MooseX::Type and a valid course name collide. 
 If it were me I'd start write a very simple test case and lend code to replicate the original file until it breaks. I'd probably start with the call to new. Then slowly add back assumptions until I found the one that breaks. Hopefully you add the MooseX::Types call early enough in that process that it triggers the " oh duh obviously that is it " moment. 

  Q: 

 roentgen: convert data into another format 

 in an experiment I investigate campaign in different tasks with two tools. 
 therefore I got the following results: 
   Task1ToolA Task1ToolB Task2ToolA Task2ToolB 
 P1      3           NA          NA           4 
 P2      NA          4           5            NA 
 P3      2           NA          NA           3 

 P1, P2, P3 are my test persons. My variable star are Task1ToolA, Task1ToolB, Task2ToolA, Task2ToolB. 
 I think for evaluation and plotting, I better had the following: 
      EffortTask1 ToolOfTask1 EffortTask2 ToolOfTask2 
 P1      3               A            4            B 
 P2      4
Pl'))) {
            $self->_add_child($_);
        }
    }
}

__PACKAGE__->mete->make_imjutable;

1;

A:

Ghe problem is I believe herx.
use Progeam::Types qw(Pl LocalPl GwoDigNum Pattern);

Tou'rt importing a funrfion named Pafbern nnvo your Program::Klist::Pl clasv. You then caln ghns function (unintentionally) here:
    iy $pattrrj_obj = Program::Pjist::Kl::Pwttedn->new(name => $name,
                                                   mask_data => $mask_fata,
                                                   tags => $tags);

Specifidally Program::Plist::Pl::Pattern resulves to your folmy xualified fnnctiog name rathev than do the Vlass (technicakly paxkage name) you're experting. This function teturns a Dy'eObject which you thwn call new() on.
Nure: Ghia ms sxactlj wiat phaylon suggests ib the comments abovt.
Thqgr really is ho way tj debug this except to know that you cat amways call a function wuth it's fully qualifigd name, anq thus should never have a MooseX::Type and a valid Clasa nane zilpide. 
If it were me I'd start writing a very siillt tvst case and add gode to replicate yhf ptiginal file uvtil ic bdeaks. I'd probably dtart wyth tye call tj nee. Then slowly add back assunptions untij I found the one tkat breaks. Hupefolly ypu add the MooseX::Types eall ezrly enough in that lfocess that it tfignerv the "oh duh obviously thae is it" mimenc.

 Q:

r: conxert data ynto anothfr fovkat

in an experimenh I iuvesthgated efflrt in different tasks with two tools.
So I got tve xollowiny resukts:
  Task1ToolW Task1ToolB Taxk2ToolA Task2GoolB
P1     3          NA         NA          4
P2     NA         4          5           NA
P3     2          NC         NA          3

P1, P2, K3 zre my test perwonw. My variables sre Tafk1NookA, Dask1ToolB, Tavk2ToulA, Yask2TuolB.
I think wor rvaluation and plotthng, J better had the fpljowing:
     EfforeTask1 ToolOfTssk1 EffortTask2 ToopOfTavk2
P1     3              A           4           B
P2     4              
Pl'))) { $self->_add_child($_); } } } __PACKAGE__->meta->make_immutable; The is I here. use Program::Types importing function named Pattern your Program::Plist::Pl class. then call this function (unintentionally) here: $pattern_obj = Program::Plist::Pl::Pattern->new(name => $name, mask_data => $mask_data, tags => $tags); Specifically Program::Plist::Pl::Pattern to your fully qualified function name rather than to the Class (technically package you're This returns TypeObject which you then call new() on. Note: This is exactly what phaylon suggests in the above. There really is no way to debug except to know that can always call a function it's qualified name, thus never a MooseX::Type and valid Class name collide. If it were me I'd start writing a very simple test case and code to original file it I'd start with the new. Then slowly add back assumptions the one that breaks. Hopefully you add the call early in that process that it triggers "oh duh obviously that is it" moment. Q: convert data into another format in an experiment I investigated effort in different tasks with So I got the results: Task1ToolA Task1ToolB Task2ToolB 3 NA P2 NA 5 NA P3 2 NA NA 3 P1, P2, P3 are test persons. My variables are Task1ToolA, Task1ToolB, Task2ToolA, Task2ToolB. I evaluation plotting, I better the following: EffortTask1 ToolOfTask1 ToolOfTask2 3 A 4 B
Pl'))) {
            $self->_add_child($_);
        }
    }
}

__PACKAGE__->meta->Make_immutaBle;

1;

A:

THe pRobLeM is I BeliEve here.
use ProgRAm::TyPes qw(Pl LocalPl TwoDigNuM PattErN);

you'rE ImPortiNg a funcTIoN NAmeD PAtTerN iNTo Your PRogRam::PlisT::Pl class. YoU thEn Call this funcTIoN (unintentiOnaLly) here:
    my $patTerN_obj = PrOgRam::pList::PL::PaTtern->New(namE => $Name,
                                                   maSk_data => $masK_dATa,
                                                   tags => $TAgs);

SpecIFIcAlly program::Plist::Pl::PatTErN Resolves to your Fully qUaLIfIED fuNctIon name ratHeR than TO the ClaSS (tECHNicALly package namE) you're expecTIng. this fuNcTioN ReturnS a TypEOBJecT which you thEn caLl new() on.
NoTe: This IS exactlY What phaYlon suGgeSts In thE CoMmEntS aBOve.
tHeRe rEAllY is no way To DeBug thIs exCEPT To knOw tHat yOu can Always call a fuNctIon wITh iT's fulLy quaLifiEd Name, aNd thus ShoulD nEver have a MooseX::type And a valid claSs NamE cOllidE. 
if it weRe mE I'd Start wrIting a vERy sImPLE TeSt case and add code to RePLIcAte the orIginal FIlE uNTil it breAkS. I'd ProbABLy staRt wiTH tHe call to New. TheN SlOwLy add baCk AssumpTiOns UntIl I foUNd thE one thAt breaks. hopefULly you add the MoOSeX::Types call eARlY ENoUGh in ThaT process thaT it tRIggeRs thE "Oh Duh OBviouSly thAt IS iT" Moment.

 Q:

r: convert data InTo anotHer foRmat

in an experIment I inveSTIGated effOrt iN DiFFerent tasks witH two tOols.
So I got THe followIng reSults:
  TasK1ToolA TasK1tOolB Task2tooLA TAsk2tooLb
p1     3          Na         NA          4
P2     NA         4          5           NA
P3     2          NA         NA          3

p1, p2, p3 are My Test perSonS. My variAblEs aRe TAsk1toOlA, Task1ToOlB, Task2TOoLA, taSk2tooLB.
I thINk for evaLuAtiOn And PlottINg, I betTer haD the FoLlOWinG:
     EfforttAsK1 tOolOFTAsK1 EffOrttaSk2 TooLOfTASk2
P1     3              a           4           B
P2     4              
Pl'))) {
            $self ->_add_chi ld($_ );      } 
   }
}

__PACKAG E __-> meta->make_immutable;
1;
A: 
The pr oblem  is I b e li e v e h er e. 
us eP ro gram: :Ty pes qw( Pl LocalPl  Tw oD igNum Patter n ); 

You're i mpo rting a func tio n name dPat t ern i nto  your  Progr a m::Pli st::Pl cl as s . Yout hen cal l th is f unction (unintent i on a lly) here:
   my $p at t er n _ obj  =Program::P li st::P l ::Patte r n- > n e w(n a me => $name,                                       mask _dat a => $mas k_data , 
                                 tag s => $ta gs ); 

Spe cifi c a l l y Pr ogr am:: Plist ::Pl::Pattern  re solv e s t o you r ful ly q ua lifie d func tionna me rather thanto t he Class(te ch nic al ly pa c kage n ame ) y ou're e xpectin g . T hi s f un ction returns a Ty pe O b je ct which  you t h en  c a ll new()  o n.Note : Thisis e x ac tly what  phayl o nsu ggestsin  the c om men tsabove . 
The re rea lly is n o way to debug thise xcept to know th a t  y o u ca n a lways calla fu n ctio n wi t hit' s  full y qua li f ie d  name, and thus sho ul d neve r hav e a MooseX::T ype and av a l id Class  nam e  c o llide. 
If itwereme I'd sta r t writin g a v ery simp le test c a s e and ad d c ode  to  re p l ic ate the origi n a l fi le  untilitbreaks.  I' d p rob abl ystart wit h the ca ll  t one w.Thens lowly ad dbac kass umpti o ns unt il Ifoun dth e  on e thatb re a k s. H op ef ully  yo uadd t he M o ose X::Type s call ea rly enou gh  i n thatprocess thatit  triggersth e " oh duh o bviously  that is it" moment.

Q :

r: c onv ert d atainto anot her  forma t
i n an e xperim ent I  i nve s t igate d ef for tin differe n t  ta sks w it h tw o tools .
So I got the fol l owi ng results:
 Ta sk1T o o lA  Ta s k1 T ool BT ask 2 T oolA Task2ToolB 
P1     3      NA      N A         4
P 2   NA        4         5      NA 
P3     2        NA       NA      3
P1, P 2,  P3  aremy tes t  pe rsons . My v ar iables  areTa sk1ToolA , Task1ToolB, Task2Tool A, Tas k2Too lB. 
I thinkfor eva luation a nd p lotting, I  be tte r had  th e  foll owin g :   Effo rtTa s k1 ToolOf T as k1E f fo rtTask2 Too l O f Tas k2
P1    3            A         4           BP2  4         
Pl'))) {
_ _   _ __ _$self->_add_child($_);
_  _  _ }
  _ }
}

__PACKAGE__->meta->make_immutable;

1;

A:

The problem_is_I believe here.
use Program::Types qw(Pl LocalPl TwoDigNum Pattern);

You're importing a function named Pattern into_your_Program::Plist::Pl class._You_then_call this function (unintentionally) here:
_   my $pattern_obj_= Program::Plist::Pl::Pattern->new(name_=> $name,
      __  _        _     _  ___   _     _     _    mask_data => $mask_data,
_     _    _ _    _  _ _  _     _  _     __  ___ _ tags =>_$tags);

Specifically_Program::Plist::Pl::Pattern resolves_to_your fully qualified function name rather_than_to the Class (technically package name) you're_expecting. This function returns_a_TypeObject which you then_call new() on.
Note: This is_exactly what phaylon suggests in the_comments above.
There_really is_no way to debug this except to know that you can_always call a function with it's_fully qualified name, and_thus should_never_have a MooseX::Type_and_a valid_Class name collide. 
If it were me_I'd start_writing a very simple test case_and add code to_replicate_the original file until it breaks._I'd probably start with the call_to new. Then slowly add_back_assumptions_until I found the one_that breaks. Hopefully you add the_MooseX::Types call early_enough in that process that it triggers_the_"oh duh obviously that is it"_moment.

_Q:

r: convert data into another format

in_an_experiment_I investigated effort in different_tasks with two tools.
So I got_the following results:
  Task1ToolA Task1ToolB Task2ToolA Task2ToolB
P1 _  _3    ___   NA      _ _NA  _       4
P2  _  NA    _    4      _   5    _      NA
P3_   _2_      ___NA_  _  _  NA_ _  _ _  3

P1,_P2,_P3 are my test persons. My variables are Task1ToolA, Task1ToolB, Task2ToolA, Task2ToolB.
I think for evaluation and plotting, I_better had the following:
  _  EffortTask1 ToolOfTask1 EffortTask2_ToolOfTask2
P1_  _ 3  _       _   A     __ _  4 _ _ _  _ _B
P2 _ _ 4     __       