2021-02-16 12:42:10 +03:00
#!/usr/bin/env perl
use v5 .28 .0 ;
use lib '.' ;
use RSPM::Bless ;
2021-06-08 12:28:01 +03:00
use RSPM::Foo142 ;
2021-07-16 17:34:00 +03:00
use RSPM::Option ;
2021-02-16 12:42:10 +03:00
2021-07-19 10:37:08 +03:00
STDOUT - > autoflush ;
2021-02-16 12:42:10 +03:00
my $ v = RSPM::Bless - > new ( "Hello" ) ;
$ v - > something ( ) ;
2021-10-14 14:40:06 +03:00
$ v - > something_nonraw ( ) ;
2021-02-16 12:42:10 +03:00
my ( $ a , $ b , $ c ) = $ v - > multi_return ( ) ;
say "Got ($a, $b, $c)" ;
my @ ret = $ v - > multi_return ( ) ;
say "Got: " . scalar ( @ ret ) . " values: @ret" ;
$ v - > another ( 54 ) ;
2021-06-08 12:28:01 +03:00
my $ param = { a = > 1 } ;
my $ s = "Hello You" ;
2021-06-10 11:14:04 +03:00
print "These should be called with a valid substr:\n" ;
2021-06-08 12:28:01 +03:00
RSPM::Foo142:: test ( substr ( $ s , 3 , 3 ) ) ;
RSPM::Foo142:: teststr ( substr ( $ s , 3 , 3 ) ) ;
2021-06-10 11:14:04 +03:00
print "Parameter exists: " . ( exists ( $ param - > { x } ) ? "YES" : "NO" ) . "\n" ;
2021-06-08 12:28:01 +03:00
RSPM::Foo142:: test ( $ param - > { x } ) ;
2021-06-10 11:14:04 +03:00
print "Was auto-vivified: " . ( exists ( $ param - > { x } ) ? "YES" : "NO" ) . "\n" ;
2021-06-08 12:28:01 +03:00
RSPM::Foo142:: teststr ( $ param - > { x } ) ;
2021-06-23 11:58:31 +03:00
2021-07-02 12:32:30 +03:00
my $ a = "Can I have some coffee please?\n" ;
print $ a ;
my $ b = RSPM::Foo142:: test_serde ( $ a ) ;
print $ b ;
my $ c = RSPM::Foo142:: test_serde ( $ b ) ;
print $ c ;
use utf8 ;
binmode STDOUT , ':utf8' ;
my $ a = "Can I have some ☕ please?\n" ;
print $ a ;
my $ b = RSPM::Foo142:: test_serde ( $ a ) ;
print $ b ;
my $ c = RSPM::Foo142:: test_serde ( $ b ) ;
print $ c ;
2021-07-16 17:34:00 +03:00
sub to_string {
my ( $ param ) = @ _ ;
my $ state = $ param - > { tristate } ;
$ state = int ( $ state ) if defined ( $ state ) ;
my $ a ;
if ( defined ( $ state ) ) {
$ a = $ state ? "Some(true)" : "Some(false)" ;
} else {
$ a = "None" ;
}
my $ b = RSPM::Option:: to_string ( $ state ) ;
my $ c = RSPM::Option:: struct_to_string ( { 'tristate' = > $ state } ) ;
print "$a\n" ;
print "$b\n" ;
print "$c\n" ;
}
to_string ( { 'tristate' = > '0' } ) ;
to_string ( { 'tristate' = > '1' } ) ;
to_string ( { 'tristate' = > undef } ) ;