mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.perl
Titolo: perl2exe ha bisogno di questi moduli

 dove posso trovare sti moduli o che mi manca?
hai letto il manuale di perl2exe dove dice:
==========================
8. "Can't locate 
somemodule.pm
 in @INC at 
myscript.pl
 line 1" error
message
If you get an error message like the one above, you can force the
missing module to be compiled into the exe by adding a line like one of
the following to your script:
use somemodule;
Only if that does not work, use:
#perl2exe_include 
somemodule.pm
#perl2exe_include NET::FTP::I
#perl2exe_include 
scriptname.pl
Only if that does not work, use the command: "perl2exe myscript
\somepath\
somemodule.pm
".
Please also send us the script with this problem, so we can fix the
problem in a future version of Perl2Exe.
==========================
quindi hai 3 possibilità da provare...

dimenticavo di aggiungere che:
1) ш la unregistred version
2) uso active perl con win95
-- 
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
http://www.pigmalion.youngwind.com
 pigmalion network
http://www.pigmalion.youngwind.com/perl/
 appunti Perl - FAQ
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
-- 
Posted from 
relay3.inwind.it
 [212.141.53.74] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Salve gente,
ho utilizzato perl2exe e funziona..
ora l'ho provato su uno script che fa uso di Net::irc
mi da questo errore nella compilazione
Warning: module 
syscall.ph.pm
 not found
Warning: module sys/
syscall.ph.pm
 not found
Warning: module sys/
systeminfo.ph.pm
 not found
dove posso trovare sti moduli o che mi manca?
-- 
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
    pigmalion Web
 
http://www.pigmalion.youngwind.com
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
-- 
Posted from 
relay4.inwind.it
 [212.141.53.75] 


hai letto il manuale di perl2exe
si lo avevo guardato e cmq tutto a posto, ho risolto.
Erano soltanto dei warnings che in pratica saltavano fuori per via di
Hostname.pm che controlla su quale OS gira, e quindi contiene anche
routine per altri OS che saltano fuori come warnons.
Ma dato che l'exe girerр, e gira, su macchina winows...tutto ш andato
liscio...
-- 
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
http://www.pigmalion.youngwind.com
 pigmalion network
http://www.pigmalion.youngwind.com/perl/
 appunti Perl - FAQ
ЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,ИИ,јЄКА`АКЄј,И
-- 
Posted from 
relay3.inwind.it
 [212.141.53.74] 

Newsgroup: it.comp.lang.perl
Titolo: subrutine object return

E' ovvio che la risposta al mio post sarà banale...;-(
per favore, spiegatemi il perchè della situazione.
Il primo script (#script_1) riportato in basso funziona perfettamente:
usando moduli appositi, si connette ad un DB e in base ad un codice ritorna
e 'printa' a video l'oggetto  $species->binomial('FULL').
se trasformo il suddetto script in una subrutine  (#script_2) non ottengo
assolutamente niente.......:-((((
Perchè? dove sbaglio? mi pare che la sintassi sia corretta: infatti,
semplicemente chiedo che mi venga ritornato nuovamente
$species->binomial('FULL') e che venga printato....bho
Stefano
--------------------------------------------------------------------
#!/usr/bin/perl -w
#script_1
use Bio::Seq;
use Bio::SeqIO;
use Bio::DB::GenBank;
my $acc = $ARGV[0];
my @args = (-retrivaltype => 'tempfile',
            -format => 'GenBank',
            -db => 'GenBank');
my $gb = Bio::DB::GenBank->new(@args);
my $seqio = $gb->get_Stream_by_acc($acc);
while( my $orgn = $seqio->next_seq() ) {
    my $species = $orgn->species();
    printf "\t%s\n", $species->binomial('FULL');
}
---------------------------------------------------------------------
#!/usr/bin/perl -w
#script_1
my $bi = get_binomial($ARGV[0]);
printf "Organism is: ", $bi, "\n\n";
sub get_binomial {
    use Bio::Seq;
    use Bio::SeqIO;
    use Bio::DB::GenBank;
    my $acc = @_;
    my @args = (-retrivaltype => 'tempfile',
                -format => 'GenBank',
                -db => 'GenBank');
    my $gb = Bio::DB::GenBank->new(@args);
    my $seqio = $gb->get_Stream_by_acc($acc);
    while( my $orgn = $seqio->next_seq() ) {
        my $species = $orgn->species();
        return $species->binomial('FULL');
    }
}

         return $species->binomial('FULL');
qua fai un return dentro ad un while: dunque alla prima iterazione (che 
non c'è mai stata visto che il parametro passato alla funzione in realtà 
per te è il numero 1) esci subito.
Prova ad eseguire questo script di prova:
use strict;
use warnings;
my $numero_elementi=5;
print "Ora stampo con un foreach\n";
foreach my $elemento (1..$numero_elementi) {
	print "Ora vale $elemento\n";
}
print "\nOra stampo con un una sub\n";
stampa_elementi($numero_elementi);
print "\nOra calcolo con un una sub e stampo nel main\n";
my @array_elementi=calcola_elementi($numero_elementi);
print @array_elementi;
sub stampa_elementi {
	my $numero_elementi=$_[0];
	foreach my $elemento (1..$numero_elementi) {
		print "Ora vale $elemento\n";
	}
}
sub calcola_elementi {
	my $numero_elementi=$_[0];
	my @array_stringhe;
	foreach my $elemento (1..$numero_elementi) {
		push @array_stringhe,"Ora vale $elemento\n";
	}
	return @array_stringhe;
}

my $acc=$_[0];
Una consolidata tradizione Perl è anche scrivere:
   my $acc = shift;
Ciao.
Newsgroup: it.comp.lang.perl
Titolo: perl, cgi, personal web server

Da poco studio sul perl e sui cgi e non riesco a capire una cosa:
1) l'interprete perl a cosa serve, cos'è e dove lo posso scaricare.
2) Devo installarlo? Come?
3) Personal Web server va bene come server web?
Grazie mille!!!!!!!

 3) Personal Web server va bene come server web?
Forse.
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

Da poco studio sul perl e sui cgi e non riesco a capire una cosa:
1) l'interprete perl a cosa serve, cos'è e dove lo posso scaricare.
Beh... forse e' meglio che inizi a studiare veramente, non basta dirlo. La
prima cosa che si impara del perl e' 
http://www.perl.com/
 e la secoda e'
usare l'interprete.
3) Personal Web server va bene come server web?
Si, pero' devi installare l'interprete:
http://www.activestate.com/ActivePerl/download/APi522e.exe
L'interprete perl server per far funzionare gli script perl, senza
interprete il perl non va. E' la stessa cosa del wsh: senza la libreria
cscript  non funziona.
--
manuel cavalieri
[ecas 
http://151.4.102.45/
]
--
Posted from [192.106.127.3]
via Mailgate.ORG Server - 
http://www.mailgate.org

Newsgroup: it.comp.lang.perl
Titolo: script per invio POST

Ho la necessità di creare uno script PERL sotto Unix/Linux che, una volta
acquisito i dati direttamente come comando, li re-invii con il metodo POST
ad un indirizzo particolare.
ESEMPIO:
www.miosito.it/cgi-bin/mioscript.cgi?msg=prova&user=pippo&psw=ciccio
Bene, per acquisire nello script questi dati e memorizarli nelle variabili:
NO PROBLEM.
Lo script deve inviare i dati raccolti, IN METODO POST, verso l'indirizzo
http://www.altro-server.com/programma.asp
e magari attenderne un esito.
Quali istruzioni devo usare? E' possibile "farlo" in PERL 5 ?
Grazie anticipatamente.
Daniele.

Non credo che il problema debba essere visto secondo il tuo punto di
vista...
Prova a visitare questo sito per farti un'idea di come devi agire:
http://www.cgi101.com/class/ch4/text.html
Ciao

Quali istruzioni devo usare? E' possibile "farlo" in PERL 5 ?
Devi scaricare e installare "libwww-perl".
Questo e' un esempio fare quello che vuoi con quella libreria:
#!/usr/bin/perl -w
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Response;
$ua   = LWP::UserAgent->new;
$req = POST '
https://192.168.1.1/Servlet/myservlet
', [
        'nome1' => 'valore1',
        'nome2' => 'valore2',
];
$res = $ua->request($req);
Newsgroup: it.comp.lang.perl
Titolo: perl, strana sintassi.

Ciao a tutti.
Sto muovendo i primi passi con perl.
Ho visto che certi esempi vengono scritti per essere eseguiti come 
intero comando, anziché come codice da inserire in uno script.
Vi riporto un esempio la cui sintassi mi risulta parecchio oscura...
perl -le '
  $string = shift;
[QUI TUTTO IL RESTO DEL CODICE]
' -- "$STRING"  *.pdf
Se qualcuno me la può spiegare gliene sono grato.
(poi proverò a convertire la cosa in uno script vero e proprio.. i pdf 
verranno presi dal path specificato in @ARGV[0])


Significa che la variabile $string conterrà il primo argomento
(parametro) di chiamata. Se, per esempio, il programma è una
subroutine e si chiama vai(), la chiamata vai('giovane') farà si che
$string = 'giovane'. C'è dell'altro. Se la chiamata prevede più
argomenti (parametri ), per esempio vai('giovani','vecchi','bambini')
accadrà che $string = 'giovane' e @_ = ('vecchi','bambini').


Consiglio un'occhiata a perlrun, ma in ogni caso:
* l'opzione "-l" serve a far gestire automaticamente i newline (più o
meno)
* l'opzione "-e" serve a dire "esegui il codice che sto per inserire
come parametro successivo"
* l'opzione "--", se non erro, serve a dire "guarda, ho terminato la
lista delle opzioni di perl, tutto il resto sono opzioni per il mio
programma"
A livello più alto la chiamata a shift lavora sull'array globale @ARGV
e fa sì che $string (nel codice perl) contenga il valore passato
attraverso l'opzione "$STRING". Dopo questa istruzione, @ARGV contiene
la lista dei file pdf presenti nella directory corrente (più o meno,
potresti avere sorprese se i nomi dei file contengono spazi).
Ciao,
   Flavio.
Newsgroup: it.comp.lang.perl
Titolo: Problemi con Time::Hires

Salve,
ho un programma A che ad intervalli regolari esegue una funzione e che ad 
un cero punto avvia un altro programma B che esegue altre funzioni ad 
intervalli regolari.
 
Se avvio i programmi da due terminali diversi questi funzionano 
correttamente, ma se faccio avviare il programma B dal programma A 
succede che il programma A continua a funzionare mentre nel programma B 
non funzionano più i timer.
 
Ecco un esempio minimale: salvate il codice seguente con nome progA.pl e 
progB.pl e provate ad eseguire progA.pl
 
#!/usr/bin/perl
use warnings;
use strict;
use Time::HiRes qw ( setitimer ITIMER_REAL );
$SIG{ALRM} = sub{&alarm};
setitimer(ITIMER_REAL,1,1);
my $i=0;
my $t=<>;
exit 0;
 
sub alarm{
	$i++;
	system('perl progB.pl&') if($i==3);
	print STDERR "$i\n";
}
 
 
Come output mi aspetterei di vedere qualcosa tipo
1
2
3
1
4
2
5
3
Invece il programma B parte ma non chiama la sub alarm.
Se si avviano i due programmi da due terminali si nota che i timer di 
entrambi i programmi funzionano.
Dove sbaglio?
 
Grazie,
Matteo

 Invece il programma B parte ma non chiama la sub alarm.
 
È POSIX che vuole così, né Perl né tanto meno Time::HiRes (difatti
avresti la stessa situazione anche con una semplice alarm()).
 
La situazione (un po' intricata, ma neanche tanto) è la seguente.
 
All'interno del signal handler, il recapito del segnale stesso (nel
tuo caso SIGALRM) viene bloccato, mediante la cosiddetta /process
signal mask/, la quale signal mask (del processo padre) viene
ereditata da un eventuale processo forkato.
 
Ora la system di Perl esegue come prima cosa una fork, e siccome tu
esegui la system dentro un signal handler, dove come detto la signal
mask blocca il segnale SIGALRM, tale signal mask viene passata pari
pari al processo invocato via system, che pertanto a sua volta
ignorerà ogni SIGALRM che gli dovesse eventualmente pervenire.
 
Per far funzionare le cose come vuoi tu, dovresti resettare la signal
mask nel processo figlio, cosa che puoi fare semplicemente aggiungendo
queste due righe all'inizio di progB.pl:
 
use POSIX qw(:signal_h);
sigprocmask( SIG_UNBLOCK, POSIX::SigSet->new(SIGALRM) );
 
Ciao
-Emanuele

Grazie mille, da solo non ce l'avrei mai fatta! 
(certe cose sono difficili da chiedere a google)

 (certe cose sono difficili da chiedere a google)
 
Di nulla figurati.
E grazie al fatto che hai condiviso il problema, in futuro sarà più
facile trovarlo su Google.
Newsgroup: it.comp.lang.perl
Titolo: Princiapiante chiede ...

Scusate per le domande forse un pò banali , io ho incominciato a studiare il
perl.
Dopo aver letto due libri e studiato un pò alla svelta le lezioni di
www.cgipoint.it
 mi è venuta una domanda come si fa a eseguire uno split !?!
Il mio problema è "cgi-bin/
prova.pl?nome=davide&cognome=rossi
" come faccio a
stampare (cioè a vedere) davide e rossi!?!
Mi scuso ancora per la domanda.
Poi ho un'altra domanda io ho scaricato da cgipoint un script in perl che
permette di creare comunità "webhome" il mio problema ? Non riesco a
configurarlo mi potreste aiutare?
Grazie e cordiali saluti!?!

 stampare (cioè a vedere) davide e rossi!?!
Per poter leggere i parametri che passi a uno script (in questo caso method
GET, ma funziona anche con method POST), puoi o scriverti una funzione che
legge i dati e li inserisce in un array, o usare una funzione già scritta
contenuta nel comodo modulo CGI.pm che esegue esattamente le operazioni che
ti servono.
Un esempio di utilizzo (usando gli oggetti) è il seguente:
use CGI;
$q = new CGI;
print "Content-type: text/html\n\n";
print "<html><head><title>reading form</title></head><body><h1>Reading
form:</h1>";
@dati = $q->param;
foreach $i (0..$#dati) {
   $key=$dati[$i];
   $val=$q->param($key);
   print "$key : $val<br>\n";
}
print "</body></html>";
Un altro esempio, per funzionalità analogo al precedente, ma per creazione
differente, è il seguente (usando le funzioni)
use CGI 'param';
print "Content-type: text/html\n\n";
print "<html><head><title>reading form, pII</title></head><body><h1>Reading
form, prova II:</h1>";
@dati = param;
foreach $i (0..$#dati) {
   $key=$dati[$i];
   $val=param($key);
   print "$key : $val<br>\n";
}
print "</body></html>";
La documentazione del modulo è buona, non sto a commentare gli esempi (se
poi non capisci qualcosa, chiedi un commento!)
Spero ti possano essere d'aiuto ...
Ciao, Ezio BOnsi

 wrote in message
PdjY4.18457$VM3.1...@news.infostrada.it...


 [CUT]
La routine che ti ho postato mostrava un esempio di uso *universale* del
param() di CGI.pm. Quindi qualsiasi cosa tu passavi allo script in qualsiasi
modo veniva raccolta e visualizzata a video.
Per un caso specifico, è opportuno catturare solo i parametri che ti servono
realmente!
ES:
use CGI 'param';
print "Content-type: text/html\n\n";
print "<html><head><title>reading form</title></head><body><h1>Reading
form</h1>";
$login_value = param('login');
$psw_value = param('password');
print "L'utente con login $login_value ha inserito la password
$psw_value<br>\n";
print "</body></html>";
In questo caso non ti interessa ne più l'array con tutte le chiavi passate
allo script (@dati), ne il ciclo per visualizzarle tutte una ad una ,
estraendo i rispettivi valori (foreach ...).
In questo caso passi delle costanti a param() per assegnare a delle
variabili (diverse, che poi andrai a utilizzare, testare, verificare,
ecc...) solo i valori che vuoi e che ti servono.
bye, Ezio BOnsi
Newsgroup: it.comp.lang.perl
Titolo: Come fare l'upload?

Salve a tutti
vorrei permettere agli utenti del mio sito di fare l'upload di file binari
(immagini jpg) ma essendo abbastanza una chiavica nella programmazione in
perl non ho proprio idea di come fare!
Qualcuno potrebbe indirizzarmi sulla buona strada?
    grazie per l'attenzione
        Roberto

Roberto wrote:

-----------------------------------------------------------form 
.htm------------------------------------------------------
<form enctype="multipart/form-data" ACTION="/cgi-bin/
upload.pl
" 
METHOD="post">
<b>select the directory to upload to:</b><br>
<select NAME="dir">
<option value="images">images</option>
<option value="sounds">sounds</option>
</select>
<p>
seleziona il file da uploadare: <br>
<input type="file" NAME="file">
</p>
<input type="submit">
-------------------------------------------------------upload.pl---------------------------------------------------------------------
#!/usr/bin/perl
use CGI;
my $cgi = new CGI;
my $dir = $cgi->param('dir');
my $file = $cgi->param('file');
$file=~m/^.*(\\|\/)(.*)/;
my $name = $2;
open (LOCAL, ">$dir/$name") || die "errore";
while(<$file>) {
        print LOCAL $_;
}
print $cgi->header();
print "$file \&egrave; stato trasferito con successo!\n";
Ciao!

         Roberto
#!/usr/bin/perl
BEGIN {
 $SAVE_DIRECTORY = "$ENV{'DOCUMENT_ROOT'}/www";
}
 $| = 1;
 chop $SAVE_DIRECTORY if ($SAVE_DIRECTORY =~ /\/$/);
 use CGI qw(:standard);
 $query = new CGI;
 foreach $key (sort {$a <=> $b} $query->param()) {
  next if ($key =~ /^\s*$/);
  next if ($query->param($key) =~ /^\s*$/);
  next if ($key !~ /^file$/);
  $Number = $1;
  if ($query->param($key) =~ /([^\/\\]+)$/) {
   $Filename = $1;
   $Filename =~ s/^\.+//;
   $File_Handle = $query->param($key);
  }
        open(OUTFILE, ">$SAVE_DIRECTORY\/$Filename");
  undef $BytesRead;
  undef $Buffer;
        while ($Bytes = read($File_Handle,$Buffer,1024)) {
   $BytesRead += $Bytes;
            print OUTFILE $Buffer;
        }
  push(@Files_Written, "$SAVE_DIRECTORY\/$Filename");
  $TOTAL_BYTES += $BytesRead;
  $Confirmation{$File_Handle} = $BytesRead;
        close($File_Handle);
  close(OUTFILE);
        chmod (0666, "$SAVE_DIRECTORY\/$Filename");
    }
Newsgroup: it.comp.lang.perl
Titolo: estrazione dati csv

Salve a tutti.
desidererei estrarre da un file csv di questo tipo:
G.MI;25,59;6/28/2005;17:40;+0,17;25,42;25,63;25,37;5086265
il 2do,6to,7mo,8vo,9no campo e redirigere il loro contenuto verso 5 files
distinti, uno per campo.
Come fare col perl? Pensavo alle espressioni regolari, o forse a qualche
modulo relativo al csv, ma essendo niubbo non so da che parte iniziare,
spero che mi diate qualche chiarimento.
Nel ringraziarvi per l'aiuto che mi darete, mi scuso per il tempo fattovi
perdere.
-- 
Marco Siviero
Usin' Slackware Linux 10.1 (2.6.10 kernel) on a Compaq Presario 2175EU
notebook (AMD Athlon XP-M 2800+ CPU)
Linux proud user #373650
www.antidigitaldivide.org

 spero che mi diate qualche chiarimento.
   Text::ParseWords  (v. perldoc Text::ParseWords)
oppure
 
 
http://search.cpan.org/~jwied/Text-CSV_XS-0.23/
 
http://search.cpan.org/~jzucker/DBD-CSV-0.22/
Max

 
Se sei sicuro che il separatore (;) non e' mai contenuto all'interno di uno
dei campi (per esempio  la riga abc;"def;ghi";jkl;2 contiene 4 campi, non 5),
allora basta un semplice comando "split":
open my $FILE, "<", "nomefile.csv" or die $!;
open my $FILE2, ">", "nomefile2" or die $!;
open my $FILE6, ">", "nomefile6" or die $!;
open my $FILE7, ">", "nomefile7" or die $!;
open my $FILE8, ">", "nomefile8" or die $!;
open my $FILE9, ">", "nomefile9" or die $!;
while (my $linea = <$FILE>)
{
     my @campi = split /;/, $linea;
     print $FILE2 $campi[1]; # il secondo campo ha indice 1, perche' parte da zero
     print $FILE6 $campi[5];
     print $FILE7 $campi[6];
     print $FILE8 $campi[7];
     print $FILE9 $campi[9];
}
close $FILE;
close $FILE2;
close $FILE6;
close $FILE7;
close $FILE8;
close $FILE9;
ciao
gmax
-- 
   ____ ____  _____ _   _
  / _  |    \(____ ( \ / )
( (_| | | | / ___ |) X (
  \___ |_|_|_\_____(_/ \_)
(_____|
MySQL Certified Professional
Sapere, saper fare, fare, far sapere
http://gmax.oltrelinux.com

 5), allora basta un semplice comando "split":
Semplice e chiaro. Devo ancora provarlo, ma mi sembra che sia ciň che
cercavo! Ti ringrazio infinitamente!


Max M. wrote:

grazie del consiglio! La soluzione di gmax è più consona a ciò che devo
fare, non devo chiamare moduli, e risulta più lineare, ma ciò che mia hai
suggerito può tornarmi utile.

Newsgroup: it.comp.lang.perl
Titolo: Tutorial

Salve a tutti!
Ho appena installato Linux e ora vorrei iniziare a programmare in Perl.
Premesso che conosco PHP e un po' di C, dove posso trovare qualche bel
tutorial?
TIA
        Shogun

 ha scritto:

E gia' l' aver installato linux e' un' ottima cosa!:-)))
Un tutorial simpatico, semplice, in italiano e fatto veramente bene lo
trovi a quest indirizzo: 
http://www.dei.unipd.it/~tigre/b/PerlTutorial/
Ciao
Ubi

Salve a tutti,
questo messaggio per annunciarVi che ho reso disponibile a tutti su 
source forge un software al quale lavoro da due anni.
Potrete trovarlo su 
isogest.sourceforge.net
.
Aspetto feedback!!!
Saluti
Luca Dante Ortolani



Ho vosto quello che dovrebbe fare...tu sei matto hai scritto tutta sta robba
in PERL!?!??!

 robba in PERL!?!??!
?? E perche' non avrebbe dovuto? Cos'ha il Perl che non va?
        Michele.

 ?? E perche' non avrebbe dovuto?
no..no..anzi i miei complimenti...sottolineavo la grandezza del progetto...
Newsgroup: it.comp.lang.perl
Titolo: pagina shtml

Come posso passare un parametro da una pagina .shtml allo script che la 
stessa deve eseguire? 
voglio dire: 
page.shtml?k=1000 
page.shtml code:
------------------------------------------------------------------------
<!-- #exec cgi="
www.yousite.com/cgi-bin/page.cgi
" -->
------------------------------------------------------------------------
grazie a tutti!!!

 stessa deve eseguire? 
tramite google:
http://www.experts-exchange.com/Web/Web_Languages/CGI/Q_10000007.html
è questo quello che cercavi?

 wrote:

in pratica:
Viene chiamata la pagina: "page.shtml?k=1000"
la pagina "page.shtml" contiene questa direttiva:
<!-- #exec cgi="
www.yousite.com/cgi-bin/page.cgi
" -->
quindi lo script "page.cgi" deve racogliere il valore di "k"
per poi poter rispondere a seconda del valore di "k"

 per poi poter rispondere a seconda del valore di "k"
Potrei sbagliarmi, però mi pare dovresti aggiungere ${QUERY_STRING} in
questo modo
<!-- #exec cgi="
www.yousite.com/cgi-bin/page.cgi?${QUERY_STRING}
" -->
HTH
Angelo
--
http://www.endum.net

 
o meglio ancora:
<!--#include virtual="cgi-bin/script.cgi?${QUERY_STRING}" -->

 Email: 
http://www.gunnar.cc/cgi-bin/contact.pl

Newsgroup: it.comp.lang.perl
Titolo: socket

sera ragazzi!
sto cercano una guida sui socket in perl non sono riuscito a trovarne
una,non è che mi sapreste aiutare.
ho già cercato dappertutto.

 ho già cercato dappertutto.
Se ti interessa un libro c'e`:
Network Programming with Perl
di Lincoln D. Stein
Addison-Wesley
(e` in inglese)
        Michele.

Newsgroup: it.comp.lang.perl
Titolo: Delete record

Quali sono le istruzioni perl per la cancellazione di un record?
GRAZIE

 GRAZIE
perl ha dei moduli specifici per connettersi alle basi di dati (io uso Pg),
le quali poi vanno *modificate* attraverso il solito, caro, vecchio SQL.
ciao,
asast

 Quali sono le istruzioni perl per la cancellazione di un record?
Se non definisci cosa e' un record, e' difficile che ti si possa aiutare.
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

 wrote in message
8sn5ur$j2i$1...@menelao.polito.it...


 Il record che intendo io è quello di un file tipo txt
Ovvero una riga? Allora la risposta e' che per cancellare righe devi 
riscrivere completamente il file. 
Eventuali istruzioni possono solo dipendere da come e' VERAMENTE fatto il
tuo file.

Newsgroup: it.comp.lang.perl
Titolo: questione di segnale?

Salve,
     allora, un client realplayer o simile si collega al mio script perl 
che non č nient'altro che una CGI che viene eseguita su server e dove ad 
un certo punto incontra un ciclo while di questo tipo:
while ( recv($fh, $buff, $buffer_len, 0) )
{
   syswrite(STDOUT, $buff) || last;
}
# notifica che sei uscito dal ciclo while:
__END__;
il problema e che se il realplayer va in timeout oppure faccio sto dal 
player non mi viene eseguita la parte dopo while {} ... nemmeno se la 
metto tra:
END {
   # notifica che sei uscito dal ciclo while:
}
perche? secondo voi dovrei intercettare qualche segnale?
grazie

 grazie
si! il solito SIGPIPE (remember?) il numero 13.
da man 7 signal:
SIGPIPE      13       Term    Broken pipe: write to pipe with no readers
l' azione di default e' "Term" (terminazione)
gestisci o ignora $SIG{"PIPE"}
ciao
Roberto.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Roberto.
a pensarci bene non e' cosi' scontato: dall' altra parte di STDOUT c' e'
Apache? Secondo lo standard CGI non dovrebbe chiudere il PIPE ridirezionato
di STDOUT della CGI alla chiusura della connessione (anni fa avevo chiesto
anche in in Usenet) ma semplicemente dropparne tutto il resto dell' output
altrimenti tutte le CGI dovrebbero gestire SIGPIPE e non mi sembra lo
facciano.
Comunque e' un signal. intercettali tutti, ma non so' in che circostanza
ti arriva. Mi sono venuti dubbi che ti arrivi da quella syswrite STDOUT
SE USI INTERFACCIA CGI STANDARD!! Se usi fastcgi o mod_perl mi dichiaro
incompetente!
Ciao


 gestisci o ignora $SIG{"PIPE"}
beh in questo caso non devo ignorare ma fare un clear quit
credi che dovrei assegnare una sub a $SIG{"PIPE"}??
grazie

 Apache?
si, nessun mod perl

Newsgroup: it.comp.lang.perl
Titolo: Download Ia.n.i.!!! It's free!

Download Ia.n.i. RemoteControlSystem 1.2 beta. It's free!!!
New site: 
http://jump.to/IaniProject


Newsgroup: it.comp.lang.perl
Titolo: Huge CGI!Help!I'm in shit!

param($_);
    }
}
# Reads a saved CGI object from disk and returns its params as a hash
ref
sub get_state {
    my $id = shift;
    my $session = session_filename( $id );
    local *FILE;
    -e $session or return;
    open FILE, $session or die "Cannot open $session: $!";
    my $q_saved = new CGI( \*FILE ) or
        error( $q, "Unable to restore saved state." );
    close FILE;
    return $q_saved;
}
# Saves the current CGI object to disk
sub save_state {
    my $q = shift;
    my $session = session_filename( $id );
    local( *FILE, *DIR );
    # Avoid DoS attacks by limiting the number of data files
    my $num_files = 0;
    opendir DIR, $DATA_DIR;
    $num_files++ while readdir DIR;
    closedir DIR;
    # Compare the file count against the max
    if ( $num_files > $MAX_FILES ) {
        error( $q, "We cannot save your request because the directory
" .
                   "is full. Please try again later" );
    }
    # Save the current CGI object to disk
    open FILE, ">> $session" or return die "Cannot write to $session:
$!";
    $q->save( \*FILE );
    close FILE;
}
# Separated from other code in case this changes in the future
sub session_filename {
    my $id = shift;
    return "$DATA_DIR/$id";
}
sub unique_id {
    # Use Apache's mod_unique_id if available
    return $ENV{UNIQUE_ID} if exists $ENV{UNIQUE_ID};
    require Digest::MD5;
    my $md5 = new Digest::MD5;
    my $remote = $ENV{REMOTE_ADDR} . $ENV{REMOTE_PORT};
    # Note this is intended to be unique, and not unguessable
    # It should not be used for generating keys to sensitive data
    my $id = $md5->md5_base64( time, $$, $remote );
    $id =~ tr|+/=|-_.|;  # Make non-word chars URL-friendly
    return $id;
}


Perchè i param sono racchiusi da doppie virgolette?
Puoi osservare la sintassi presso
http://search.cpan.org/~sdowd/Mail-POP3Client-2.16/POP3Client.pm
di solito preferisco acquisire i parametri in variabili locali
$a = param('user_name');
$b = param('password') ;
$c = param('domain_name');
e poi
my $pop = new Mail::POP3Client ( USER => $a,  PASSWORD => $b, HOST =>
$c, AUTH_MODE => 'PASS' );

Grazie per il suggerimento ma ho provato e non funzia...
Newsgroup: it.comp.lang.perl
Titolo: Ora ho il form... ma come prendo le var..

come prendo le variabili inviate con il form seguente dallo script perl?
Grazie!
-----------------
<FORM ACTION=
http://www.xxx.com/code/cgi-bin/form.cgi
 METHOD=POST>
<B>PROVA</B>
<SELECT size=1 cols=4 NAME="Cosa_pensi">
<OPTION selected Value=nessuna>
<OPTION value=ottimo> Ottimo
<OPTION value=Discreto> Discreto
</select>
<B>Tipo</B>
<SELECT size=1 cols=4 NAME="Cosa_pensi">
<OPTION selected Value=nessuna>
<OPTION value=1> sell
<OPTION value=0> buy
</select>
<B>altro </B><input type=text name="altro" size=10>
<INPUT TYPE=SUBMIT VALUE="Spedisci"><INPUT TYPE=RESET VALUE="Cancella">
</FORM>

come prendo le variabili inviate con il form seguente dallo script perl?
use CGI;
$q = new CGI;
print $q->param('Cosa_pensi');
print $q->param('altro');
	Michele.
-- 
Michele Beltrame
m...@io.com
http://www.io.com/~mick/
ICQ# 76660101
==> Visita il sito di it.comp.lang.perl: 
http://www.perl-it.org
==> Sei del triveneto e vuoi unirti ai Perl Mongers? Scrivimi!

 wrote in message 8q0u3v$1iv$1...@news.IT.net...


Michele ti prego di perdonare la mia "estrema" ignoranza...
mi servirebbe assegnare i param a delle variabili per lavorarmeli,
la butto lě del tutto inconsapevole:
$cosa ->param('altro');
$cosa =param('altro');
oppure come?
Grazie! :-)
F.

Mi sembra un po' incasinato...
se funge la soluzione di Michele è molto + semplice!
comunque grazie!
Bye
F.

oppure come?
$cosa = $q->param('altro');


Grazie :-)

Newsgroup: it.comp.lang.perl
Titolo: Parere su script per grafici a torta

Salve,
ho fatto uno script che forse a qualcuno potrebbe tornare utile
si chiama PIE e serve a generare dinamicamente grafici a torta
per pagine web (utile per statistiche, conteggi ecc...)
Piu' che altro, frequentando da un po' questo NG ed essendomi reso conto
che è frequentato da persone veramente appassionate di Perl (ce ne sono
poche in giro),
mi piacerebbe conoscere il vostro parere in merito, sapere se esiste già un
qualcosa di simile
(io non ho trovato niente) e, soprattutto, sapere qualche consiglio per
l'ottimizzazione del codice.
Se volete....
Ciao a tutti!
Guido.
http://www.soundfonts.it

 wrote in message
news:aan7h2$tmg$1...@lacerta.tiscalinet.it...


 ha scritto nel messaggio
news:aan7h2$tmg$1...@lacerta.tiscalinet.it...


sapere se esiste già un qualcosa di simile
Guarda il modulo: GifGraph su CPAN, c' è un metodo GifGraph::pie che
credo che abbia qualcosa a che fare con quanto ti interessa ...
Tieni presente che uno dei moduli grafici classici per la gestione di
grafica on fly con perl è GD: 
http://www.boutell.com/gd/manual1.8.4.html
Ciao
Newsgroup: it.comp.lang.perl
Titolo: DBD::mysqlPP

Ho notato che la nuova versione di Active Perl per Windows supporta dei
nuovi driver di connessione per il DB Mysql.... la nuova libreria si chiama
DBD::mysqlPP
e dovrebbe sostituire la vecchia DBD::mysql.
Purtroppo il metodo  $sth->rows;   che dovrebbe ritornare il numero dei
record
estrapolati dalla query non funziona....nel senso che torna sempre nullo,
mentre
con la vecchia libreria funzionava tutto correttamente...qualcuno mi
saprebbe dire
come mai ? o capita soltanto a me ?
Grazie


   Forse e` un problema della libreria:
 
http://search.cpan.org/dist/DBD-mysqlPP/mysqlPP.pm
-- 
Alla prossima,
Marco

 > DBD::mysqlPP e dovrebbe sostituire la vecchia DBD::mysql.
Leggi la doc: "Pure Perl MySQL driver for the DBI".
E' un'implementazione del client MySQL fatta interamente in Perl e risulta 
utile (non necessaria però, vedi DBD::Proxy) in quesi sistemi in cui non è 
disponibile una implementazione delle librerie client mysql native 
(libmysqlclient).
Non sostituisce nulla dunque e se usi Win2K utilizza il ppm DBD::mysql!
by 
	- Enrico
Newsgroup: it.comp.lang.perl
Titolo: Cerco script per inserire un test nel mio sito

Vorrei inserire nel mio sito un test (tipo quelli delle riviste femminili)
che calcoli il profilo di una persona in base alle risposte che da.
Qualcuno mi aiuta?
grazie
elisabetta

 wrote in message
ps%D4.28026$pn3.3...@news.infostrada.it...


Newsgroup: it.comp.lang.perl
Titolo: occorre dikiarare l'utilizzo di cgi.pm?

se sě dove?

Newsgroup: it.comp.lang.perl
Titolo: HTTP::Request

Ciao a tutti.
Devo eseguire un programma su server sicuro HTTPS remoto (internet)
Mi spiego meglio:
un pc in rete locale chiama uno script
(
http://198.1.3.25/cgi-bin/script.pl?etc.
.) su server web intranet Win2000 +
Apache 2.0 passando dei parametri.
Nello script sul server Apache c'è il seguente (fra l'altro) codice
.
.
use HTTP::Request::Common;
  $ua = LWP::UserAgent->new;
  my $res = $ua->request(POST '
https://server-sicuro.it/programma.asp
',
[parametro1 => 1111, parametro2 => 2222]);
 etc....
Purtroppo mi ritorna l'errore "501" protocollo https non
implementato/supportato.
Quindi devo dedurre che questo modulo non supporta https?
Oppure devo installare un certificato SSL sul server Apache?
Sapete altre strade per richiamare uno script attraverso connessione https
??
Grazie Anticipatamente
Carla.

> Sapete altre strade per richiamare uno script attraverso connessione https
http://search.cpan.org/search?query=https&mode=module
--
perl -MLWP::Simple -e "getprint(' 
http://perl.4pro.net
 ')"

Newsgroup: it.comp.lang.perl
Titolo: Sottodominio virtuale

Ciao,
qualcuno sa dove trovare uno script Perl Free che permetta di creare un
sottodominio del mio dominio:
ex. 
www.miodominio.com
 ==> HomePage    
pippo.miodominio.com
 ==>
www.miodominio.com/pippo/
GRAZIE 1000
Filippo

 wrote:
: qualcuno sa dove trovare uno script Perl Free che permetta di creare un
: sottodominio del mio dominio:
: ex. 
www.miodominio.com
 ==> HomePage    
pippo.miodominio.com
 ==>
: 
www.miodominio.com/pippo/
Queste cose si fanno di solito a livello di configurazione del server
web.
Per maggiori informazioni: it.comp.www .
-- 
Nando Santagata: Telemastica & infornatica
Key fingerprint = C2 D9 C0 8E D5 B7 04 97  AF E8 3F 3E AF 4E 7F 9E
finger nando (at) mail (dot) ipers (dot) net   for my PGP public key
Home: 
http://www.ipers.net/~nandos
Newsgroup: it.comp.lang.perl
Titolo: connessione db2 su AS400

salve, sono neofita del perl
come si  connette ad db2 su AS400, quindi il db è su un host remoto,
probabilmente con ODBC.
ho letto qualche esempi ma mi sembra che si riferiscono a db locali.
grazie
chiaramente sono un neofita cercate di essere dettagliati

depamag ha scritto:

DB2 UDB offre un metodo d'accesso via IP chiamato DRDA.
Se non hai possibilità di installare dei moduli sul pc con il perl vai
sul sito IBM.com e cercando a fondo nella sezione del DB2 dovresti 
trovare anche un client per x86 richiamabile via batch.
Se invece hai possibilità di installare moduli:
Ti servono il modulo DBI che è una interfaccia db-indipendente
http://search.cpan.org/~timb/DBI-1.50/DBI.pm
e il modulo DBD-DB2 che offre il "connettore" vero e proprio verso DB2
http://search.cpan.org/~ibmtordb2/DBD-DB2-0.78-5.8.4/lib/DBD/DB2.pod
Dopo che hai fatto il compitino se vuoi ti passo un po' di script già 
fatti per connect db2.

Newsgroup: it.comp.lang.perl
Titolo: perl script per ftp

Ciao a tutti,
ho preso in mano il perl da qualche giorno e sto cominciando ad utilizzarlo
in ufficio.
Stavo facendo un programmino che permettese di scaricare via ftp un file,
sono andato su cpan e ho cercato il modulo adatto ma lo script non ne vuole
sapere...mi dà un errore al login
#!/usr/bin/perl
use Net::FTP;
$ftp = Net::FTP->new(
ftp.pippo.com
, Debug=>0);
$ftp=login("pippo",'pluto');
$ftp=cwd("/miadir");
$ftp->get("topolino.rar");
$sftp->quit;
 Undefined subroutine &main::login called at ./
backup.pl
 line 5.
Da cosa dipende, mi potete date qualche suggerimento?
Ciao Giuseppe

 $ftp=login("pippo",'pluto');
  ^^^^^^^^^^
$ftp->login("pippo", "pluto");
-> serve per richiamare un metodo dell'oggetto $ftp.
per maggiori info: perldoc perlboot (per capire come lavorano gli
oggetti).
ps: nota che lo stesso errore l'hai fatto + volte, ho preso come esempio
il login perchè era la tua domanda originale.
Ciao,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

 $ftp=cwd("/miadir");
------------------------
risolto....................grande cappellata!
I metodi con la freccia e non con l'uguale...........


Newsgroup: it.comp.lang.perl
Titolo: dialogare con una classe java

Buona serata a tutti,
mi chiedevo se qualcuno di voi ha mai dialogato con un oggetto java da un
modulo perl. Attarverso l'oggetto dovrebbe essere necessario leggere e
passare variabili alla classe sottostante.
Gradirei realizzare una soluzione unica sia per unix che per win32.
... qualche suggerimento, grazie!
Ciao!
----
Silvano

 leggere e passare variabili alla classe sottostante.
Forse questo fa al caso tuo.
 Perl extension for accessing a JVM remotely or locally 
 
http://search.cpan.org/search?dist=Java
Newsgroup: it.comp.lang.perl
Titolo: Editor CGI.

Innanzitutto chiedo scusa per l'ignoranza, e poi vi chiedo se mi potete
consigliare un buon editor di CGI.
Grazie.

 wrote in message
8tmvom$mt0$1...@lacerta.tiscalinet.it...



Prova con:
ScriptWorx 5.0 (Freeware)
Ottimo ambiente per la programmazione in diversi linguaggi Web-Oriented
http://www.softlite.net/
  oppure su 
http://www.tucows.com/
SlickEdit
http://www.slickedit.com/.ftpdir/trial/windows/vsdemo_w.exe
Ciao, Massimo

consigliare un buon editor di CGI.
SciTE - 
http://www.scintilla.org/SciTE.html
--
Roberto Lupi

 wrote in message
8tmvom$mt0$1...@lacerta.tiscalinet.it...

Newsgroup: it.comp.lang.perl
Titolo: come posso aumentare l'environment in perl ?

Ho un problema di questo genere. Per una cgi particolare devo fare in
modo che un utente clicchi su un particolare link per inviare una mail.
E fin qui tutto ok. Il problema nasce dal fatto che l'email deve essere
precompilata. Ho risolto il problema cosě:
$link -> contiene l'url completo
print "<a href=\"mailto:
tuoa...@dominio.it
\?SUBJECT=soggetto del
messaggio\&BODY=$link\">Scrivi a un amico</a>\n";
Solo che, passando il mouse sopra il link, compare il link completo,
mentre se ci clicco sopra, si apre la finestra per scrivere la mail, ma
il contenuto della variabile $link viene troncato dopo 60 caratteri.
Non so come risolvere questo problema, si tratta un problema di
dimensioni di memoria dell'environment ?
thanks in advance !
-- 
-------------------------------------------------------------------------
Hosting professionale a prezzi USA? 
http://www.servitelit.com/prezzi.htm
-------------------------------------------------------------------------

 wrote:
| print "<a href=\"mailto:
tuoa...@dominio.it
\?SUBJECT=soggetto del
| messaggio\&BODY=$link\">Scrivi a un amico</a>\n";
non centra il perl.. il fatto e' che:
1) questa tua implementazione non e' standard, quindi supportata in
maniera diversa da browser a browser
2) qualsiasi url dovrebbe essere troncato agli spazi
3) un url puo' essere al max di 254-256 chars
Oha
[seguisu impostato]

[...]
Quello che ti posso consigliare e' di installare sul sistema un un qualsiasi
modulo per spedire la posta (tipo Mail::Sender) e di utilizzare un
perlettino che legge l'input della form e si occupa di mandare la mail.
Questo ti permette di essere molto piu' "standard" e, sicuramente, risolvere
un po' di problemi...
    Hope this helps,
    Best Regards,
        Kazuma
--
Alex Garbagnati, 
al...@remove.this.messagemedia.com
Manager, Database Development
MessageMedia
Mountain View, CA  94043

Newsgroup: it.comp.lang.perl
Titolo: per creare figure: quale modulo?

sto costruendo una applicazione e  ho la necessità di creare dei grafici
un pò particolari:
Quale modulo perl può aiutarmi per grare delle gif? o jpg?
grazie in anticipoo, Mario.

 wrote in message
20020126.172432...@localhost.localdomain...

La gerarchia GD::Graph dovrebbe andare bene, per una buona parte delle
accezioni
di "un po' particolari" :) Mi pare che dalle ultime versioni GD non supporti
il formato
GIF, pero`. Non credo sia un limite, ad ogni modo, visto che puoi ripiegare
su formati
quali PNG o JPEG.
ciao
Stefano
Newsgroup: it.comp.lang.perl
Titolo: Che differenza c'è?

Salve a tutti,
che differenza c'e' tra questi due cicli?
===========================Ciclo1 :
@Array = (1,2,0,3,1,0,7,5);
LOOP: foreach $i (@Array){ 
     if ($i == 0){
 
       print "Next Loop..[$i]\n";
       next LOOP;
     }else {
       #fa qualcosa....
     }
 
}
===========================Ciclo2: 
@Array = (1,2,0,3,1,0,7,5);
foreach $i (@Array){ 
     if ($i == 0){
       print "Next Loop..[$i]\n";
       next;
     }else {
       #fa qualcosa....
     }
 
}
Se ci sono differenze, in quali casi si usa uno o l'altro? A me sembra
che il risultato ottenuto č lo stesso.
Grazie Anticipatamente.
Abanero.

 che il risultato ottenuto è lo stesso.
In questo caso il risultato è identico. A volte uso queste "label"
(non mi viene come si chiamano) quando ho due loop annidati.
Per esempio, prendendo il caso di un'array di array:
PRIMO: foreach $rif ( @array ) {
  SECONDO: foreach $elemento ( @$rif ) {
    if( $elemento = $x ) {
     next PRIMO;
    }
  }
}
Spiego: quando viene trovato dentro al secondo loop un valore uguale a
$x, il loop interno viene terminato e si passa al successivo
$rif(ermineto) del primo loop.
Non so se sono ne faccio un buon uso, ma io le uso cosi. :) Anche nel
pseudo-statement SWITCH viene consigliato di usare le label.
Ciao,
-- 
+--------+ | ASCII ribbon campaign ( ) | 
www.autistici.org/kral
|  kral  | |  - against HTML email  X  |
+--------+ |              & vCards / \ | my key id = 0x7C946947

che il risultato ottenuto è lo stesso.
Si usa un'etichetta quando serve un'etichetta, non si usa quando non serve.
Nel caso dell'esempio che hai pubblicato, il risultato è ovviamente lo
stesso, visto che il punto di uscita è il medesimo; l'utilità potrebbe
comunque essere una maggiore chiarezza. In genere direi però che si usa
un'etichetta per saltare al ciclo superiore, o almeno in questo caso l'uso
è indiscutibilmente giustificato.
Ciao.

 if( $elemento = $x ) {
               ^^^
Scusate mi sono accorto adesso dell'errore. Qui andrebbe:
if( $elemento == $x ) {
Ciao,
-- 
+--------+ | ASCII ribbon campaign ( ) | 
www.autistici.org/kral
|  kral  | |  - against HTML email  X  |
+--------+ |              & vCards / \ | my key id = 0x7C946947
fingerprint = AAC6 8B75 8C29 2EBB 766F  8C8C E0FA 37D9 7C94 6947

Newsgroup: it.comp.lang.perl
Titolo: cl.exe

Sto riprovando a installare il modulo DBD::mysql, però quando provo a
installarlo su win95 mi compare il seguente messaggio di errore:
Fatal error U081: 'cl.exe': program not found.
Cos'è cl.exe? E dove posso trovarlo?
Al momento ho installati:
Perl 5.00502
Gnuwin C++ b18
Nmake 1.5
P.S. Spesso facendo 'nmake test' (o 'nmake install') mi compare la
scritta di errore
Troppi parametri - &&
E' normale?
Grazie
Andrea Busia

cl.exe è il linker di M$VC++
Marco Cecconi
Inferentia SpA
On Fri, 25 Jun 1999 09:04:11 GMT, 
bu...@tiscalinet.it
 (Andrea Busia)
wrote:


cl.exe è il linker di M$VC++
mi permetto di dissentire... ;-)
cl.exe è il compilatore, il linker si chiama link.exe.
__END__
# Aldo Calpini
print sort {$_{$a} cmp $_{$b}} values %{{split undef,
"xritajbugne fahokem csuctawer jhdtlrnpqloevkshpr"}};
Newsgroup: it.comp.lang.perl
Titolo: [Newbie] apache e perl

Salve a tutti,
Ho faticato un po'ad inserire correttamente questo messaggio,il mio
ISP ha qualche problema con il servizio di news, e me ne scuso.
Ho una macchina con Linux Debian 3.0 e Apache 1.3.26, su questa
macchina
riesco ad eseguire degli script perl da shell.
Volevo farli diventare delle pagine web dinamiche ma non riesco
assolutamente a farli caricare da Apache; ad esempio il classico
script
hallo.pl
-------------------
#!/usr/bin/perl
print "Content-type: text/html\n";
print "Hallo world!";
--------------------
chiamato tramite browser mi da un internal server error (500) con un
errore
"malformed header script...." nel file error.log di apache.
Ho modificato decine di volte l'httpd.conf aggiungendo e togliendo
impostazioni ma non riesco a trovare una soluzione.
Quali moduli dovrebbero essere installati e presenti nell'httpd.conf
per una
corretta gestione degli script Perl da parte di Apache??e quali
impostazioni
vanno abilitate??
ho installato il pacchetto libapache-mod-perl ma non sono convinto di
averlo
configurato correttamente nè che sia esattamente quello di cui ho
bisogno.
Di fatto non ho mai eseguito la configurazione di Apache per
l'esecuzione
degli script perl.
è possibile che sia sbagliato l'header dello script??ed in questo caso
qual'è l'header giusto??
Qualcuno ha qualche consiglio da darmi??
Grazie a chiunque saprà illuminarmi.
Ciao

Hai verificato che i gli script-alias di Apache siano correttamente configurati?
Le impostazioni di default indicano che la cgi-bin è in una posizione ben precisa e solo da tale posizione riesci ad avviare gli script.
Conttrolla /etc/apache/httpd.conf e cerca cgi-bin con vi instruzione /cgi-bin e poi n fino a quando non trovi la posizione corretta
gallus
On 29 Oct 2004 00:45:52 -0700


Newsgroup: it.comp.lang.perl
Titolo: Invio mail in perl senza SMTP server.

Molti provider di spazio web non mettono a disposizione un servizio
SMTP per ovvie ragioni, quindi i moduli SMTP, Mail, eccetera, sono
inutilizzabili.
Esiste in Perl qualcosa di simile al CDONTS disponibile in ASP che mi
consenta l' invio di posta senza SMTP??
Ciao

 inutilizzabili.
Sparo (thanks Frodo): Mail::Sendmail (non c'entra con l'omonimo
programma)
http://search.cpan.org/search?dist=Mail-Sendmail

 Ciao

 Quindi se sul tuo server funziona CDONTS vuol dire che c'è il daemon smtp


On Thu, 16 May 2002 18:25:39 GMT, inmodis@_CANCELLAMI_tiscalinet.it
(Daniele) wrote:
Grazie per le vostre risposte.
Ciao...
Newsgroup: it.comp.lang.perl
Titolo: Mailing List

Dovendo inviare una ML a circa 4000 utenti ha scritto un programma in
perl che si conette via socket alla porta 25 e invia il messaggio, il
tutto funziona su windows 98 e server MTA mdaemon. Il testo del
messaggio è diverso per ogni utente. Il programma funziona bene, i
messaggi vengono inviati correttamente ecc. Il problema è che il
server MTA apre una connessione al server POP del destinatario per
ogni messaggio mentre magari ho 300 utenti di tiscalinet e vorrei che
aprisse una singola connessione e inviasse attraverso quella tutti i
messaggi per gli utenti di quel provider.
Ho pensato di connettermi direttamente al pop server dei destinatari
del messaggio via socket, ma non ho la più pallida idea di come fare
ciò.
Quale sequenza di send e recv dare nel socket?
Come faccio a sapere dall'indirizzo ad esempio 
pi...@tiscalinet.it
 se
il POP server è 
pop.tiscalinet.it
 o 
mail.tiscalinet.it
 o
pippo.tiscalinet.it
?
Spero che il problema sia chiaro e che qualcuno mi possa aiutare.
Grazie
Ciao
Andrea Busia
No Spam, Grazie.

 
-- 
"Time flies like an arrow; fruit flies like a banana."

 ERROR. Relaying not allowed
Quindi non devi mai usare l'SMTP server del dominio del destinatario, bensi'
quello del tuo.
bye, Marco Cacchiani

 
-- 


Newsgroup: it.comp.lang.perl
Titolo: server fork

Salve,
 
     ho trovato questo codice che forka ogni volta che viene accettata 
una nuova connessione:
#!/usr/bin/perl
use strict;
use warnings;
use POSIX qw(:sys_wait_h);
use IO::Socket::INET;
use IO::Handle;
sub REAP {
   1 until (-1 ==waitpid(-1, WNOHANG));
   $SIG{CHLD} = \&REAP;
}
$SIG{CHLD} = \&REAP;
STDOUT->autoflush(1);
my $sock = IO::Socket::INET->new(LocalPort => '65001',
                           Proto => 'tcp',
                              Reuse => 1,
                                 Listen => SOMAXCONN,
                                    Type => SOCK_STREAM) || die $!;
 
$sock->listen();
while ( my $client = $sock->accept() )
{
   next if my $kid = fork(); die "fork: $!" unless defined $kid;
   close $sock;
   $client->autoflush(1);
   my $data = <$client>;
   sleep 10;
   syswrite $client, "Hello World!!! $$\n";
   exit;
} continue {
   close($client);
}
tuttavia il codice gestisce una sola connessione (la prima) e poi 
esce...ho trovato che la colpa è sia di close $sock e exit; allora come 
mai in rete viene suggerito inceve di mettere close $sock e exit??
http://www.linuxjournal.com/article/3237
http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/
032/3237/3237l8.html
grazie

 } continue {
peggio ancora se al posto di exit metto:
kill("TERM", $$);
mi killa si il processo parent ma poi anche tutto lo script