Dave Cross: Still Munging Data With Perl: Online event - Mar 27 Learn more

#!/usr/bin/perl
# [[[ PREPROCESSOR ]]]
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $foo = 0' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $bar = 1' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $bat = 4294967295' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $baz = 4294967294' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $foo = 4294967290' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $bar = 4294967289' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $bat = 5' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $baz = 4294967294' >>>
# <<< EXECUTE_SUCCESS_INTEGER_32: 'have $bax = 4294967290' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $foo = 0' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $bar = 1' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $bat = 18446744073709551615' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $baz = 18446744073709551614' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $foo = 18446744073709551610' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $bar = 18446744073709551609' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $bat = 5' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $baz = 18446744073709551614' >>>
# <<< EXECUTE_SUCCESS_INTEGER_64: 'have $bax = 18446744073709551610' >>>
# [[[ HEADER ]]]
use RPerl;
use strict;
our $VERSION = 0.001_000;
# [[[ CRITICS ]]]
## no critic qw(ProhibitUselessNoCritic ProhibitMagicNumbers RequireCheckedSyscalls) # USER DEFAULT 1: allow numeric values & print operator
## no critic qw(RequireInterpolationOfMetachars) # USER DEFAULT 2: allow single-quoted control characters & sigils
# [[[ OPERATIONS ]]]
my unsigned_integer $foo = 0;
my unsigned_integer $bar = 1;
my unsigned_integer $bat = ~($foo);
my unsigned_integer $baz = ~($bar);
print 'have $foo = ', $foo, "\n";
print 'have $bar = ', $bar, "\n";
print 'have $bat = ', $bat, "\n";
print 'have $baz = ', $baz, "\n";
$foo = ~(5);
$bar = ~(6);
$bat = ~(-6);
$baz = ~( $foo - $bar );
my unsigned_integer $bax = ~(~($foo));
print 'have $foo = ', $foo, "\n";
print 'have $bar = ', $bar, "\n";
print 'have $bat = ', $bat, "\n";
print 'have $baz = ', $baz, "\n";
print 'have $bax = ', $bax, "\n";