my %used;
for ( @{ $graph_data->{Edges} } ) {
$edges{$_->{in}->[0]} //= {};
$edges{$_->{in}->[0]}->{$_->{in}->[1]} //= [];
push( @{ $edges{$_->{in}->[0]}->{$_->{in}->[1]} }, $_->{out} );
$used{$_->{out}} //= 0;
$used{$_->{out}}++;
if ( grep { $used{$_} > 1 } keys( %used ) ) {
die( 'Only one input per node!' );
}
}
####
my %used;
for ( @{ $graph_data->{Edges} } ) {
push @{ $edges{ $_->{in}[0] }{ $_->{in}[1] } }, $_->{out};
if ( ++$used{ $_->{out} } > 1 ) {
die 'Only one input per node!';
}
}
####
eval {
...
};
if ( $! ) {
say "Error starting ID $_->{id}: $!";
}