On Sat, Dec 04, 2004 at 03:46:47PM +0100, Leonardo Boselli wrote: > Il 4 Dec 2004 alle 14:55 Mattia Dongili immise in rete > > sembrerebbe che xargs faccia al caso tuo. Ti dovrebbe venire qualcosa > > come: $ (mysql --batch ... | xargs echo) | mail -s 'posta!' user > > ma poi scusa, vuoi spedire tutti i risultati della query per mail su > > un'unica riga?? > > no, il contrario, voglio usare i risultati della query come indirizzo, quindi > mail -c `risultato query` > per questo mi servivano su una sola riga ...
un'altro motivo per usare un linguaggio un po' piu' strutturato... vediamo un po'... con un po' di copia e incolla (o cat e grep ^__^) dai perldoc (ah, io ho solo un postgres qui): --- 8< --- 8< --- 8< --- 8< --- 8< --- #!/usr/bin/perl use DBI; use Net::SMTP; use strict; my ($first_name, $last_name, $email); my (@row, @cc); my $conn = DBI->connect("dbi:Pg:dbname=mattiadb"); my $query = $conn->prepare( "SELECT first_name, last_name, email" . " FROM users" . " ORDER BY last_name, first_name"); $query->execute(); while (@row = $query->fetchrow_array()) { ($first_name, $last_name, $email) = @row; push(@cc, sprintf("%s <%s>", $first_name . " " . $last_name, $email)); } $conn->disconnect(); my $smtp = Net::SMTP->new('localhost'); $smtp->mail('[EMAIL PROTECTED]'); $smtp->recipient(@cc, { SkipBad => 1 }); $smtp->data(); $smtp->datasend("\n"); $smtp->datasend("A simple test message\n"); $smtp->dataend(); $smtp->quit; --- 8< --- 8< --- 8< --- 8< --- 8< --- non c'e' un minimo di gestione degli errori ma rende l'idea. Ah, ti servono libdbd-mysql-perl e libnet-perl. aloha PS: toglietemi dal Cc!! -- mattia :wq!