#!/usr/bin/env perl use strict; use warnings; use PDL; use PDL::NiceSlice; my $x = pdl(0,4,0,-3); print "Before: $x\n"; $x(which($x > 0)) .= 1; $x(which($x < 0)) .= 0; $x(which($x == 0)) .= int(rand(9)) > 5 ? 1: 0; print "After: $x\n"; exit;