[COLOR=#804040][b]use strict[/b][/color];
[COLOR=#804040][b]use warnings[/b][/color];
[COLOR=#0000ff]# data structure[/color]
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@array1[/color] = ([COLOR=#ff00ff]'[/color][COLOR=#ff00ff]V1[/color][COLOR=#ff00ff]'[/color]);
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@array2[/color] = ([COLOR=#ff00ff]'[/color][COLOR=#ff00ff]V23[/color][COLOR=#ff00ff]'[/color], [COLOR=#ff00ff]'[/color][COLOR=#ff00ff]V40[/color][COLOR=#ff00ff]'[/color]);
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@parts[/color] = ([COLOR=#ff00ff]1[/color],[COLOR=#ff00ff]2602344000[/color],[COLOR=#ff00ff]'[/color][COLOR=#ff00ff]Ball Valve[/color][COLOR=#ff00ff]'[/color],[COLOR=#ff00ff]1.0000[/color],[COLOR=#008080]\@array1[/color],
[COLOR=#ff00ff]2[/color],[COLOR=#ff00ff]2602345000[/color],[COLOR=#ff00ff]'[/color][COLOR=#ff00ff]Gate Valve[/color][COLOR=#ff00ff]'[/color],[COLOR=#ff00ff]2.0000[/color],[COLOR=#008080]\@array2[/color]);
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@to_sort[/color];
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]$i[/color] = [COLOR=#ff00ff]0[/color];
[COLOR=#804040][b]while[/b][/color]( [COLOR=#008080]$i[/color] < [COLOR=#008080]@parts[/color] ) {
[COLOR=#804040][b]push[/b][/color]( [COLOR=#008080]@to_sort[/color], [ [COLOR=#008080]@parts[/color][ [COLOR=#008080]$i[/color] .. [COLOR=#008080]$i[/color] + [COLOR=#ff00ff]4[/color] ] ] );
[COLOR=#008080]$i[/color] += [COLOR=#ff00ff]5[/color];
}
[COLOR=#0000ff]# sort the records[/color]
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@sorted[/color] = [COLOR=#804040][b]sort[/b][/color] {[COLOR=#008080]@$b[/color][[COLOR=#ff00ff]1[/color]]<=>[COLOR=#008080]@$a[/color][[COLOR=#ff00ff]1[/color]]} [COLOR=#008080]@to_sort[/color];
[COLOR=#0000ff]# printing output[/color]
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#6a5acd]\\[/color][COLOR=#ff00ff]section{Valve}[/color][COLOR=#6a5acd]\n\n[/color][COLOR=#ff00ff]"[/color];
[COLOR=#804040][b]foreach[/b][/color] [COLOR=#804040][b]my[/b][/color] [COLOR=#008080]$record[/color] ([COLOR=#008080]@sorted[/color]) {
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]$slot2[/color] = [COLOR=#008080]@$record[/color][[COLOR=#ff00ff]1[/color]];
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]$slot3[/color] = [COLOR=#008080]@$record[/color][[COLOR=#ff00ff]2[/color]];
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]@array[/color] = @{[COLOR=#008080]@$record[/color][[COLOR=#ff00ff]4[/color]]}; [COLOR=#0000ff]# dereference the array[/color]
[COLOR=#804040][b]my[/b][/color] [COLOR=#008080]$array_string[/color] = [COLOR=#804040][b]join[/b][/color]([COLOR=#ff00ff]"[/color][COLOR=#ff00ff] [/color][COLOR=#6a5acd]\\\\\n[/color][COLOR=#ff00ff] & [/color][COLOR=#ff00ff]"[/color], [COLOR=#008080]@array[/color]); [COLOR=#0000ff]# join array elements[/color]
[COLOR=#0000ff]# print LaTeX subsection[/color]
[COLOR=#804040][b]print[/b][/color] [COLOR=#ff00ff]"[/color][COLOR=#6a5acd]\\[/color][COLOR=#ff00ff]subsection{[/color][COLOR=#008080]$slot3[/color][COLOR=#ff00ff]}[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color].
[COLOR=#ff00ff]"[/color][COLOR=#6a5acd]\\[/color][COLOR=#ff00ff]begin{table}[/color][COLOR=#6a5acd]\n[/color][COLOR=#ff00ff]"[/color].
[COLOR=#ff00ff]"[/color][COLOR=#008080]$slot2[/color][COLOR=#ff00ff] & [/color][COLOR=#008080]$array_string[/color][COLOR=#ff00ff] [/color][COLOR=#6a5acd]\\\\\n[/color][COLOR=#ff00ff]"[/color].
[COLOR=#ff00ff]"[/color][COLOR=#6a5acd]\\[/color][COLOR=#ff00ff]end{table}[/color][COLOR=#6a5acd]\n\n[/color][COLOR=#ff00ff]"[/color];
}