Это не возможно (Это возможно в WPF с {Binding RelativeSource={RelativeSource Self}}
, но Silverlight более ограничена.
необходимо сделать это через код.
Вы можете просто проглотить содержимое файла и использовать его, как любую другую строку:
open my $fh, '<', 'file.txt' or die "Ouch: $!\n";
my $text = do {
local $/;
<$fh>
};
close $fh or die "Ugh: $!\n";
print $text,"\n";
Я использую MIME :: Lite , это сценарий cron, который я использую для своих ночных резервных копий:
$msg = MIME::Lite->new(
From => 'backup-bot@mydomain.com',
To => 'test@example.com',
Bcc => 'test@example.com',
Subject => "DB.tgz Nightly MySQL backup!",
Type => "text/plain",
Data => "Your backup sir.");
$msg->attach(Type=> "application/x-tar",
Path =>"/var/some/folder/DB_Dump/DB.tgz",
Filename =>"DB.tgz");
$msg->send;
Что такое вы используете для отправки электронной почты? Я использую MIME :: Lite . и вы можете использовать это, чтобы просто прикрепить файл.
В противном случае вы бы просто открыли журнал, прочитали его построчно (или использовали File :: Slurp ) и выгрузили содержимое файла в электронное письмо.
Вы можете открыть файл в Perl несколькими способами.
То, что вам нужно знать, описано в perl -f open
Вот пример:
my $file = 'filename.txt';
open my $ifh, '<', $file
or die "Cannot open '$file' for reading: $!";
local $/ = '';
my $contents = <$ifh>;
close( $ifh );
Теперь просто отправьте электронное письмо по адресу $ contents
.
Я не знаю, как вы отправляете электронную почту, но я часто использую следующий способ:
# Install these modules from CPAN:
use Mail::Sendmail;
use MIME::Base64;
sendmail(
To => 'you@your-domain.com',
From => 'Friendly Name <friendly@server.com>',
'reply-to' => 'no-reply@server.com',
Subject => 'That file you wanted',
# If you are sending an HTML file, use 'text/html' instead of 'text/plain':
'content-type' => 'text/plain',
'content-transfer-encoding' => 'base64',
Message => encode_base64( $contents ),
);