On Fri, Sep 29, 2017 at 1:49 AM, ToddAndMargo <toddandma...@zoho.com
<mailto:toddandma...@zoho.com>> wrote:
Hi All,
I am stumped. This only screws up in the for loop.
This is only the chopped up version
<code>
#!/usr/bin/env perl6
my $SmtpIniFileName = $?FILE ~ ".ini";
my %SmtpIni = [ 'DebugTrace' => "", # 1 | 0 (-vvv)
'smtp' => "", # smtp.zoho.com
<http://smtp.zoho.com>
'port' => "", # 465 (ssl), 587 (tls),
25, 80, 3535 etc.
'username' => "", # Typically the sender's
eMail address, but not always.
# Blank will default
tothe sender's eMail address;
'password' => "", # User's ($username)
password
'from' => "", # The sender's eMail
address;
'to' => @[""], # qw [ la...@zoho.com
<mailto:la...@zoho.com> cur...@gmail.com <mailto:cur...@gmail.com>
]; # This is an array, not a string; delimit with a space
'Subject' => "", # Subject of the eMail
'Text' => "", # Body (verbage) of the
eMail
'FileName' => @[""] ]; # attachment path and
name. Leave blank for no attachment
sub PrintRed ( $Str ) { print color('bold'), color('red'),
"$Str", color('reset'); }
sub PrintGreen ( $Str ) { print color('bold'), color('green'),
"$Str", color('reset'); }
sub PrintBlue ( $Str ) { print color('bold'), color('blue'),
"$Str", color('reset'); }
sub PrintRedErr ( $Str ) { $*ERR.print: color('bold'), color('red'),
"$Str", color('reset'); }
sub CreateSmtpIni () {
my $SmtpHandle = open( $SmtpIniFileName, :rw ); #
Read/write, create if does not exist
chmod 0o400, $SmtpIniFileName; #
Read//write to root only
RunNoShell ( "chown root.root $SmtpIniFileName" );
$SmtpHandle.print( "# SmtpIni file for for $IAm\n" );
$SmtpHandle.print( "# This file must be owned by
root.root and have a permission of 400\n" );
$SmtpHandle.print( "# Do not use a space after the =
sign. \n" );
$SmtpHandle.print( "#\n" );
for %SmtpIni.kv -> $key, $value {
PrintGreen ( "key = <$key> value =<$value>\n" );
if ( $key eq "to" ) { $SmtpHandle.print( "$key=
#delimiter is a comma\n" ); }
elsif ( $key eq "FileName" ) { $SmtpHandle.print( "$key=
#delimiter is a comma\n" ); }
else { $SmtpHandle.print( "$key=\n" ); }
close ( $SmtpHandle ); }
PrintRedErr ( "$SmtpIniFileName was not found. Recreating
a blank template.\n" );
PrintRedErr ( "Please edit this template and try again.
Cowardly existing. Bummer dude.\n\n" );
exit 2;
}
CreateSmtpIni();
</code>
# CheckRaid.pl6
key = <Subject> value =<>
key = <port> value =<>
write bytes requires an object with REPR MVMOSHandle (got VMNull
with REPR Null)
in sub CreateSmtpIni at ./CheckRaid.pl6 line 52
in sub GetSmtpIni at ./CheckRaid.pl6 line 62
in block <unit> at ./CheckRaid.pl6 line 143
Line 52 is
else { $SmtpHandle.print( "$key=\n" ); }
# cat CheckRaid.pl6.ini
# SmtpIni file for for CheckRaid.pl6
# This file must be owned by root.root and have a permission of 400
# Do not use a space after the = sign.
#
Subject=