A USBAL 2016-09-28 12:00 L USMIA 2016-10-13 #### my $in := open { $ARGV[0] } ; my $out := create RoutingDetails ; my $rd = $out/RoutingDetails ; my $pda = $in//PortDetails[PortType='A'] ; if $pda { set $rd/StageQualifier 1 ; set $rd/TransportMode 1 ; set $rd/TransportName 'NV PRECARRIAGE' ; insert element Origin into $rd ; cp $pda/PortCode/text() into $rd/Origin ; insert element ETD into $rd ; cp $pda/CutOffDate/text() into $rd/ETD ; } my $pdl = $in//PortDetails[PortType='L'] ; if $pdl { insert element Destination into $rd ; cp $pdl/PortCode/text() into $rd/Destination ; insert element ETA into $rd ; cp $pdl/ETD/text() into $rd/ETA ; } save :f 'output.xml' $out ; #### 1 1 NV PRECARRIAGE USBAL 2016-09-28 USMIA 2016-10-13 #### ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,