use POSIX qw(locale_h);

sub foo { "Subroutine foo called with args: @_" }

sub foo_undef { undef }

sub foo_die { die 'expiring...' }

sub readvar { Exim::expand_string("\$$_[0]") }

sub return_scalar { 42 }

sub return_list { (10, 20, 30) }

sub return_variable_vector { @x = (4, 5, 6) }

sub return_hash { (a => 4, b => 5) }

sub debug_write { Exim::debug_write($_[0]); 'Wrote debug' }

sub log_write { Exim::log_write($_[0]); 'Wrote log' }

sub change_locale { setlocale(LC_TIME, 'fr_FR'); 'Changed locale' }

sub foo_warn { warn 'this is a warning'; 'Wrote warning' }

sub no_warn { $SIG{__WARN__} = sub { }; 'Discarded warnings' }
