mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.perl
Titolo: gestione stringhe in Perl

Salve a tutti!
Ho un problemino, che espongo subito. Data una stringa qualunque, ho la
necessita' di ricavare le parole esclusi gli spazi. Es.:
"ciao  mi     chiamo Fabrizio", devo estrarre le parole "ciao", "mi",
"chiamo" e "Fabrizio". Il problema e' che non so a priori quante parole
sono contenute nella stringa. Conoscete per caso qualche metodo o
qualche libreria in Perl che svolga questo lavoro?
E' molto importante mi serve per un esame...
Grazie in anticipo.
-- 
Fabrizio Lippolis
Studente in Informatica
Universita' degli Studi di Bari, Italia
e-mail: 
lipp...@teseo.it


Usa una istruzione tipo questa:
$frase='ciao  mi     chiamo Fabrizio';
@parole=split(/ /,$frase);
Ti trovi tutte le parole nell'array '@parole'. Fai attenzione a lasciare lo
spazio vuoto tra i due backslash nella seconda istruzione.
Ciao,
Daniele
--
----------------------------------
   * IKARO net communications *
 
http://www.ikaro.com
Virtual Hosting & Tech. resources
----------------------------------

 
Saluti.
Se si vogliono solo le parole sara' meglio usare:
@parole=split(/\b\s+/,$frase); (ammesso di condividere la nozione di
"parola" che ha il perl. Senno' /\s+/ basta)
E, rivolto al poster originale, farsi suggerire dai NG per gli esami
non e' una gran pratica... ;)
Cheers,
	Alessandro

Newsgroup: it.comp.lang.perl
Titolo: Manuali in italiano

Ciao a tutti, sto cercando di imparare il PERL con grande difficoltà, ho
acquistato un manuale "perl5" di tecniche nuove, sapete consigliarmi un
manuale scritto in italiano che sia + passo passo di quello che ho
attualmente?
Sapete, x i principianti bisogna partire dalle ASTE, come alle elementari
:-(( .
Grazie. Enzo.
P.S. Avrei già la soluzione, comprando "Programming Perl, 3rd Edition",  ma
non conosco bene l'inglese.......

: 


 ottimo per cominciare.
Questo è il libro di cui parli:
http://www.librinformatica.it/novita/libri98/mg07788.htm
Ciao
M.P.
Newsgroup: it.comp.lang.perl
Titolo: Aiutoooo

Ciao, sono sempre io, ma stavolta il numero delle mie domande č aumentato;
ma eccole:
1. come faccio a verificare se un programma CGI scritto in perl funziona?
2. l'unico modo č quello di mandarlo sul server?
3. o c'č qualche altro modo?
4.vi
 sottopongo un sub:
sub E_mail  {
 local ( $destinatario ) = $_[0];
 local ( $oggetto ) = $_[1];
 local ( $contenuto ) = $_[2];
 local ( $sendmail ) = "/bin/mail $destinatario";
 unless ( open( EMAIL, "| $sendmail ") ) {
  return 0;
 };
 print EMAIL "$oggetto\n";
 print EMAIL "\n\n";
 print EMAIL "$contenuto\n";
 print EMAIL ".\n";
 close( EMAIL );
};
la riga
local ( $sendmail ) = "/bin/mail $destinatario";
cosa significa? Che cavolo č /bin/mail? Questo punto mi č veramente oscuro!!
Qualcuno mi aiuta??? Ho imminente bisogno!! Ciao.

Qualcuno mi aiuta??? Ho imminente bisogno!! Ciao.
Indica il nome del comando che permette di inviare posta. In questo caso
viene usato /bin/mail, in molti casi serve pero`:
/usr/sbin/sendmail
Alternativamente c'e` il modulo Mail::Mailer.
	Michele.
-- 
Michele Beltrame
m...@io.com
http://www.io.com/~mick/
ICQ# 76660101
==> FAQ di it.comp.lang.perl: 
http://www.borders.it/perl/faq/
==> Sei del triveneto e vuoi unirti ai Perl Mongers? Scrivimi!
Newsgroup: it.comp.lang.perl
Titolo: errore

questo script era sull'ultimo numero di LInux&c
mi da un errore sulla riga 9
esattamente $variabile
#!/usr/bin/perl -w
#si estrae il contenuto della variabole di ambiente QUERY_STRING
@CAMPI=SPLIT(/\&/,$ENV{'QUERY_STRING'});
#SI CREA L'ARRAY ASSOCIATICO $VARIABILE
foreach $elenco(@campi{
        ($nome_variabile,$valore)=split(/=/,$elenco);
        $variabile{'QUERY_STRING'}=$valore;
        }
#output dei contenuti
print"contnet-type:text/html\n\n";
print"
<HTML>
        <HEAD><TITLE>Risultato</TITLE></HEAD>
                <BODY>
                        nome=$variabile{'nome'}<BR>
                        anni=$variabile{'anni'}<BR>
                </BODY>
</HTML>
";
chi mi aiuta ?
grazie
Marco

 foreach $elenco(@campi{
manca una ) dopo campi, e qui nasce il tuo errore alla linea 9
-- 
Saluti,
Giancarlo

E' uno scherzo, vero ??
Ecco gli errori:
@CAMPI alla 4a riga va scritto minuscolo
4a riga (sempre) mettere SPLIT minuscolo (split)
7a riga mettere la parentesi ) chiusa dopo @campi.
9a riga invece di $variabile{'QUERY_STRING'}... mettere
$variabile{$nome_variabile}
13a riga content va scritto con la C maiuscola
13a riga, hai scritto contnet invece Content (hai messo male la n)
13a riga dopo i ' : ' (due punti) mettere uno spazio.
Dopo funziona, ma devo avvertirti che e' un codice e' pessimo, ad esempio se
come nome invece di "Alex" metto "Alex ng", insomma gia' se metto uno spazio
non funziona, non coverte nulla, e' pessimo !!!
O ne trovi uno fatto meglio, o te ne fai uno migliore, o usi lo splendido
CGI.pm
Usa CGI.pm :
######################
#!/usr/bin/perl -w
use CGI;
$q=new CGI;
$name=$q->param("nome");
$anni=$q->param("anni");
print"Content-type: text/html\n\n";
print"
<HTML>
        <HEAD><TITLE>Risultato</TITLE></HEAD>
                <BODY>
                        nome=$name<BR>
                        anni=$anni<BR>
                </BODY>
</HTML>
";
######################
Basta solo questo codice !!!
Ad ogni modo sono convinto fosse uno scherzo, gli errori sembravano fatti a
posta !!!
ALex
Marco C. ha scritto nel messaggio ...


So che non veniva voglia di guardarlo a fondo :-) ma gli errori erano molti
di piu' !!!
Sono convinto fosse uno scherzo, e' impossibile ricopiare male 8 cose in 10
righe !!!
Alex
Newsgroup: it.comp.lang.perl
Titolo: Come far funzionare Perl su Linux?

Salve a tutti,
ho installato da poco Linux (SuSE 5.3) e vorrei sapere
quali file devo modificare e in che modo affinchè gli
script Perl vengano eseguiti. Dove devo pubblicare la
pagina affinchè venga eseguita dal server? (utilizzo
netscape Composer) Come posso creare dei subweb
di /localhost?
Grazie a tutti per l'interessamento.
email 
fugg...@tiscalinet.it
* Sent from AltaVista 
http://www.altavista.com
 Where you can also find related Web Pages, Images, Audios, Videos, News, and Shopping.  Smart is Beautiful

di /localhost?
chiedi su it.comp.os.linux.iniziare
Oha
-- 
#include <disclaimer.h>
Newsgroup: it.comp.lang.perl
Titolo: .doc controllati da cgi

Ciao a Tutti,
Sto cercando di fare una cgi che mi scarichi alcuni file word (.doc) e pdf 
solo dopo che ho controllato che l'utente abbia diritto di scaricarli.
Sono riuscito ad ottenere lo scopo con i file pdf ma non con i file word. 
Usando lo stesso metodo usato per i pdf con i file doc non funziona, 
ottengo solo della garbage sul browser.
Ho gia' provato con parecchi tipi di content type (application-msword e 
altri compreso octet-stream) ma non ho ottenuto risultati.
Quello che NON voglio fare e' copiarli in una directory raggiungigile dal 
browser e mettere il link diretto a questi file; voglio che il tutto sia 
controllato dal programma perl (o altro cgi) e sia lui a mandare al browser 
il file binario.
Qualcuno ha qualche suggerimento?
Io non so piu' dove sbattere la testa!! :-(
Grazie in anticipo
Massimo Balestra
NetManager S.p.A.

il file binario.
Davvero non ti capisco ! Hai fatto tutto giusto, come fai a dire che non va
?
Ah, application-msword ovviamente e' application/msword, ma immagino sia un
errore di battitura.
Ti ho fatto un mini programma di esempio:
--------------------------------------------------------------
#!/usr/bin/perl
print "Content-type: application/msword\n\n";
binmode STDOUT;
open(FILE_DOC,"./man.doc");
print while(<FILE_DOC>);
close(FILE_DOC);
---------------------------------------------------------------
Tutto qua !!! Nel caso volessi vederlo all'opera (tale e quale) vai su:
http://cgisamples.virtualave.net/cgi-bin/stampa.cgi
Te l'ho messo online e lo lascero' li per un paio di giorni, se da te non
funziona e' un problema del tuo browser allora e non del CGI. (il che non e'
da escludere!!)
Alex
P.S. il documento word e' il primo (breve) che mi e' capitato sotto mano,
nulla di piu' !!! :-)

 un errore di battitura.
Si, si, Ovvio; Ho provato application/msword, application/ms-word, 
application/x-msword ... con lo stesso (identico) risultato.
Grazie dell'esempio,
Lo guardero' lunedi' in ufficio.
Grazie ancora.
Se qualcuno ha qualche altro suggerimento e' il benvenuto.
Ciao
Massimo

OK, risolto, Grazie Alex partendo dal tuo script l'ho risolto.
Non capisco cosa cambi (su unix sun) ma le differenze sono le seguenti
1)
Io non facevo 
Binmode STDOUT
2) Leggevo il file in maniera diversa:
facevo cosi':
open F, file.doc;
binmode F;
undef $/;
my $File = <P>;
close P;
print $File;
E questo non funziona.
Funziona invece
open(FILE_DOC,$FlNm);
print while(<FILE_DOC>);
close(FILE_DOC);
Ciao e grazie a tutti
Massimo

Newsgroup: it.comp.lang.perl
Titolo: Visibilita' dei File-handle

Salve,
ho perso mezza giornata dietro ad un baco che poi è venuto fuori essere
il seguente:
In una subroutine usavo un filehandle già impiegato nel modulo
chiamante, cosicché quando il programma tornava al modulo chiamante il
file originale era stato chiuso.
Per il momento ho risolto il problema cambiando semplicemente il nome
del filehandle, pero' preferirei fare in modo che i filehandle di
diverse subroutine non interferiscano l'un l'altro. Si puo' fare?
Grazie.

 diverse subroutine non interferiscano l'un l'altro. Si puo' fare?
ti consiglio di usare IO::File
-- 
/federico
Newsgroup: it.comp.lang.perl
Titolo: Potreste consigliarmi un buon testo sul Perl?

Ciao a tutti,
  Premetto che non conosco assolutamente nulla di Perl,ma conosco HTML, java
e javascript:
Qualcuno potrebbe consogliarmi un buon testo su Perl, che non sia banale?
Grazie a tutti per l' attenzione
                               Gigi

 cerchero` un'altra donna dentro ai sogni di Tarzan...

...


Newsgroup: it.comp.lang.perl
Titolo: help me

avrei bisogno di fare uno script in perl che mi crei un elenco di file
".txt"(la dir ne contiene altri con  altre estensioni)
una volta che ho questo elenco so quali sono i file che mi interessano.
allora leggo un file alla volta e copio (partendo dalla 2° riga) il suo
contenuto in un ulteriore file
qualcuno mi può aiutare?
grazie
Ciao



 cerchero` un'altra donna dentro ai sogni di Tarzan...

close DEST;
scusa, ma siccome non sono molto bravo con il PERL se puoi mi potresti dare
un aiutino....
mi dici che cosa sono
DEST
MYDIR
<MYDIR>
TXT
<TXT>
forse cosě č piů chiaro quello di cui ho bisogno(mi sa che prima mi sono
espresso un po' male e incasinato)
dato un elenco di file(devo poter scegliere estensione dei file di cui
produrre anche un elenco in un vettore) copiare il loro contenuto in un
ulteriore file
Grazie e ciao

 ulteriore file
Questo e` quello che fa: copia tutti i file con est. txt dalla seconda
riga in poi in 'ulteriore.file'.


> <TXT>
ecc
grazie e ciao

 wrote:
Ooops... c'era un errore.
#!/usr/bin/perl -wT
use strict;
my $myfile;
open DEST,'>ulteriore.file';
opendir MYDIR,'.';
while ($myfile = readdir MYDIR) {
    (-d $myfile or $myfile !~/\.txt$/) and next;
    open TXT,"<$myfile";
    <TXT>;
    while (<TXT>) { print dest $_ }
    close TXT;
}
closedir MYDIR;
close DEST;
Cosi` dovrebbe esserti anche piu` chiaro.


sono abbastanza in alto mare
non sai dove posso trovare un 
file.pl
 completo in tutte le sue parti che fa
queste operazioni(lista di una dir in una array e ....).
scusa se ti continuo a rompere le balle
ciao CECE



 queste operazioni(lista di una dir in una array e ....).
# lista di una dir in un array
opendir MYDIR,'path_to_dir' || die "Error: $!\n";
my @elenco = readdir MYDIR;
closedir MYDIR;
Controlla il manuale (RTFM): perlfunc, ovvero "perldoc -tf opendir" e
ripeti per "readdir" e "closedir".

Newsgroup: it.comp.lang.perl
Titolo: Giorno della settimana.

Salve.
Come e' possibile ottenere il giorno della settimana di una particolare
data?
E' possibile anche in italiano?
Per esempio se volessi sapere che giorno era il 13/05/1996 come devo
fare?
Grazie.
--
Posted from 
mta01-acc.tin.it
 [212.216.176.32]
via Mailgate.ORG Server - 
http://www.mailgate.org

 fare?
Usa il modulo Date::Calc oppure con le funzioni di Time::Local converti la
data in epoch e poi usa localtime sul valore tornato.
M.
-- 
Maurizio M. Munafo' / 
mmmu...@usa.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

 fare?
Puoi fare così, ad esempio.  (Comunque ci sono i moduli Date:: per queste
cose.)
use Time::Local;
sub giorno_settimana {
	my ($g,$m,$a) = @_;
	(qw/Lunedì Martedì Mercoledì Giovedì Venerdì Sabato Domenica/) 
		[
		 ( localtime(
			timelocal(0,0,0,$g,$m?$m--:0,$a>1900?$a-1900:$a)
			     ) 
		   )[6]
		 ];
}
print giorno_settimana(13,05,1996), "\n";

...
:Come e' possibile ottenere il giorno della settimana di una particolare
:data?
:E' possibile anche in italiano?
:Per esempio se volessi sapere che giorno era il 13/05/1996 come devo
:fare?
localtime(EXPR)
localtime EXPR
  Converts a time as returned by the time function to a
  9-element array with the time analyzed for the local
  timezone. Typically used as follows:
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
 e wday dovrebbe essere il numero del giorno della settimana.

 
Si' l'avevo gia' provato ma, evidentemente non riesco ad usarlo. Ho
provato sia $day=localtime("19990202")->wget sia
$day=localtime("02021999")->wget ma il valore ritornato non corrisponde.
Uso il modulo Time::localtime.
Ciao.
--
Posted from 
mta02-acc.tin.it
 [212.216.176.33]


Newsgroup: it.comp.lang.perl
Titolo: parse mail

salve, avrei bisogno di far leggere al mio server una mail mandata ad uno
specifico indirizzo sullo stesso server e fargli inserire dei dati contenuti
in quell'email in un database, come faccio??
so che ci sono dei programmini perl che lo fanno ma non li trovo, mi
potreste aiutare??
grazie


wrote:

www.cpan.org
 ...
Newsgroup: it.comp.lang.perl
Titolo: Aiuto x una sciocchezza

Salve raga, ho un piccolo problema a cui nn ho trovato ancora soluzione.
Ho bisogno di testare se uno scalare ha valore undef, senza avere 
warning sullo standard error.
Ho provato ad esempio ad utilizzarlo in contesto numerico dove 
ovviamente lo scalare (che ha valore undef) veniva considerato nullo (0) 
avendo sullo standard error il seguente warning:
Use of uninitialized value in addition (+) at ./
a.pl
 line 13.
Il warning č a dir poco chiaro!!! :)
(Esso appare ogni qual volta si accede ad uno scalare non inizializzato 
o posto ad 'undef')
Se non mettessi 'use warnings' all'inizio dello script e non passassi 
'-w' come argomento all'inteprete perl , non avrei problemi, ma č la 
soluzione che vorrei evitare.
Ringrazio anticipatamente coloro che mi risponderanno.
Ciao.

 
Beh fra perlop e perlfunc non avevo dato un'occhiata a perlsyn:
.......
If you enable warnings, you'll be notified of an uninitialized value 
whenever you treat "undef" as a string or a number.  Well, usually. 
Boolean ("don't-care") contexts and operators such as "++", "--", "+=", 
"-=", and ".=" are always exempt from such warnings.
........
Potrei usare la seguente funzione:
sub is_undef
{
    (($_[0] .= "") eq "") ? return 1 : return 0;
}
Purtroppo tale sub restituisce 1 anche quando l'argometo passatogli è la 
stringa vuota (""), non è il massimo ma almeno non ottengo warning.
Avete in mente qualche altra soluzione piu' efficace?
Ciao.

 
  perldoc -f defined
     defined   Returns a Boolean value telling whether EXPR has a
               value other than the undefined value undef.  If
               EXPR is not present, $_ will be checked. 
 

 ha scritto nel messaggio
news:Pine.LNX.4.10.102081...@c64.comm2000.it...

Grazie Max immaginavo che ci fosse qualkosa del genere. :)

Grazie Max immaginavo che ci fosse qualkosa del genere. :)
Puoi anche selezionare i soli warnings che ti interessano. Se
"uninitialized" non ti interessa non ce lo metti.
O puoi usare $SIG{__WARN__} per definire una tua routine di trattamento dei
warnings; per esempio, salvarli in un log, o, chesso`, stamparli solo se non
contengono la parola "uninitialized":
 $SIG{__WARN__} = sub{
         print stderr $_[0] if ($_[0] !~ /uninitialized/);
 };
O puoi disattivare i warnings in un blocco ristretto di codice:
   use warnings;
   {
     no warnings;
     $b = $a + 1; # nessun messaggio di warning
   }
 
   $c = $a + 1; # warning per $a non inizializzato
Ciao.

 ha scritto nel messaggio
news:pv6lluo57uoe8fqft...@4ax.com...

Mhmhmh, molto interessante!!! Questo va oltre quello che volevo ma mi
interessa lo stesso.
Grazie mille :)
Newsgroup: it.comp.lang.perl
Titolo: espressione regolare

E' vero che se tolgo le āncore da un'espressione regolare , poi non
funzionano pių i caratteri ripetizione posti tra le parentesi graffe ?
Esempio :
$var = "582768"
$riconoscimento = ereg ( '^[0-9]{4,6}$' , $var ) ;  // ottengo true
$var = "
5827687878
"
$riconoscimento = ereg ( '^[0-9]{4,6}$' , $var ) ;  // ottengo false
$var = "
5827687878
"
$riconoscimento = ereg ( "[0-9]{4,6}" , $var ) ;  // ottengo true
Grazie e saluti

 $riconoscimento = ereg ( "[0-9]{4,6}" , $var ) ;  // ottengo true
A parte il fatto che questo non è un newsgroup dedicato a php, nel 
comportamento delle tue regex non c'è nulla di strano.
Nell'ultima, semplicemente accade che va a matchare i primi 6 caratteri, 
  visto che hai rimosso il vincolo posizionale di fine stringa:
$ perl -e '"
5827687878
" =~ /([0-9]{4,6})/; print $1'
582768
e se per ipotesi riduci la ripetizione ad esattamente 4 caratteri, il 
match lo ottieni per l'appunto sui primi 4 caratteri:
$ perl -e '"
5827687878
" =~ /([0-9]{4,4})/; print $1'
5827
quindi le ripetizioni tra parentesi graffe funzionano perfettamente 
anche in assenza di vincoli posizionali (almeno in Perl).
Newsgroup: it.comp.lang.perl
Titolo: Perl e i suoi instrovabili moduli (per lui)

Ciao a Tutti. Ho aggiornato perl dalla versione 5.005_03 alla fiammante
5.6.0. Ho installato alcuni moduli, ma perl dice di non riuscire a
trovarli. Il path dove si trovano i moduli è compreso nell'array @INC,
ma nonostante ciò non riesce a trovarli. E' possibile che tali moduli
non riescano a funzionare con il nuovo perl?
ciao e grazie Giuseppe Ricioppo.



Dunque, vendiamo un po'. Diciamo che hai installato il modulo Foo::Bar.
Hai fatto il tuo bel "make install" come root, che non ha dato problemi.
Tuttavia, se nella stessa shell in cui hai fatto l'installazione ora
digiti "perl -MFoo::Bar", ti appare "Can't locate Foo/Bar.pm...".  
E' così? 
Se invece il problema si presenta esclusivamente quando perl è invocato da
un utente diverso da root (ad esempio, l'utente di Apache, che è
tipicamente nobody), direi che potrebbe trattarsi di una errata
impostazione dei permessi in qualcuno dei file o delle directory
interessate.
Max

come li hai installati?
Con quale procedura?
Newsgroup: it.comp.lang.perl
Titolo: cosa c'è di sbagliato in questo script?

Salve a tutti,
ho fatto un piccolo script che in teoria dovrebbe prendersi un file di
testo in cui vi è un elenco di pacchetti linux, tipo
alchemist-1.0.18-1
apmd-3.0final-34
arpwatch-2.1a11-12.2.1AS.2
vorrei che mi restituisse lo stesso elenco senza la versione e senza
andare a capo, cioè:
alchemist apmd arpwatch
Con regex coach ho trovato che un'espressione regolare potrebbe essere:
^(.+?)(\-[0-9].+?)$
Lo script è:
#! /usr/bin/perl
use strict;
my $data_file = 'pkglist.txt';
open DATA, ">$data_file" or die "can't open $data_file $!";
my @array_of_data = <DATA>;
foreach my $line (@array_of_data)
{
  $line =~ s/^(.+?)(\-[0-9].+?)$/\1/gi;
   print DATA "$line";
   echo $line;
} # End the foreach loop here.
close (DATA);
Risultato: il file pkglist.txt vuoto. Ho paura che l'errore stia
nell'espressione regolare, ma regex coach, ripeto, me la valida...
Suggerimenti?

Il tuo script conteneva alcuni errori:
use strict;
# Apri il file il lettura, se c'č il simbolo '>' significa che lo apri in 
scrittura cancellando il contenuto del file.
open DATA, "pkglist.txt" or die "can't open $data_file $!";
# Prendi riga per riga. La linea viene messa nella variabile $_
while (<DATA>) {
# Se la variabile contiene un nome seguito dal simbolo "-", allora scrivi 
sullo schermo la variabile il nome.
 print "$1 " if $_ =~ m/^(.+?)\-/gi;
}
# FINE
Nel tuo script provavi a fare molto conse strane. Scusa se non sono piů 
preciso ma mi sono svegliato ora e mi fa male la testa :(
Ciao 

   print DATA "$line";
Se stampi su DATA, sovrascrivi il file che stai leggendo. Intanto non puoi
farlo in questo modo (avresti dovuto riaprirlo in scrittura, dopo avere
memorizzato i dati nell'array, oppure scrivere un nuovo file e rinominarlo
alla fine), poi non hai detto che fosse questo il tuo obiettivo.
O apri un nuovo file in scrittura, o scrivi sullo standard output,
ridirigendolo eventualmente su in file in esecuzione.
Qualcosa per separare i nomi, poi, vorrai mettercelo?
   print $1, ' ';
Tutto insieme, viene qualcosa del genere:
  #! /usr/bin/perl
  use strict;
  my $data_file = 'pkglist.txt';
  open DATI, '<' . $data_file or die "can't open $data_file $!";
  while (<DATI>)
  {
     chomp;
     $_ =~ /^(.+?)(\-[0-9].+?)$/;
     print $1, ' ';
  }
  close DATI;
Ciao.

 Ciao.
Tutto chiarissimo, ti ringrazio molto.
Ma per quanto concerne il sostituire DATA con DATI, mi ritorna un:
Bareword "DATI" not allowed while "strict subs" in use at
./
sostituire.pl
 line 11.
Execution of ./
sostituire.pl
 aborted due to compilation errors.
Sai delucidarmi?
Grazie mille

 Execution of ./
sostituire.pl
 aborted due to compilation errors.
Cappella mia chiedo venia :)
Funziona, grazie ad entrambi dell'aiuto...

Execution of ./
sostituire.pl
 aborted due to compilation errors.
Puoi postare il codice esatto (copia e incolla) che hai eseguito? perché a
me quello che ho pubblicato io non da nessun warning, e tantomeno un
errore.
Ciao.
Newsgroup: it.comp.lang.perl
Titolo: Significato di "my"

Scusate l' ingnoranza,
ma in diversi script ho notato all' inizio di diverse righe, la preposizione
"my" ........
Chosa vuole dire ?
Grazie
Simon

 ha scritto nel messaggio
news:jwXx6.10657$Oz4.2...@news2.tin.it...


"my" ........
Viene usata per definire delle varibaili locali, cioe' relative ad un
solo blocco di codice (che puo` essere una funzione, un ciclo, ...).
	Michele.
-- 
Michele Beltrame
m...@io.com
http://www.io.com/~mick/
ICQ# 76660101
==> Sito di it.comp.lang.perl: 
http://www.perl-it.org
==> Sei del triveneto e vuoi unirti ai Perl Mongers? Scrivimi!

Newsgroup: it.comp.lang.perl
Titolo: sort alfabetico

Salve,
   ho il seguente codice;
my $my_mp3 = {};
foreach my $file ( @files )
{
   chomp( $file );
 
   $filename = fileparse( $file );
   $mp3 = new MP3::Info $file;
 
   $title = $mp3->title || $filename;
   $album = $mp3->album || '-';
   $artist = $mp3->artist || '-';
   $size = get_size($file);
 
   $my_mp3->{$filename}->{"TITLE"} = $title;
   $my_mp3->{$filename}->{"ALBUM"} = $album;
   $my_mp3->{$filename}->{"ARTIST"} = $artist;
   $my_mp3->{$filename}->{"SIZE"} = $size;
   $my_mp3->{$filename}->{"PATH"} = $file;
}
vorrei odinare $my_mp3 in ordine alfabetico in base a $filename (o in 
base a $my_mp3->{$filename}->{"TITLE"} che sarebbe lo stesso)
come posso fare?
Grazie

 base a $my_mp3->{$filename}->{"TITLE"} che sarebbe lo stesso)
con questo riesco a fare il sort in base al valore di $filename
for my $key ( sort keys %{ $my_mp3 } )
{
   print "$key => " . $my_mp3->{$key}->{"TITLE"} . "\n";
}
ma come faccio il sort in base al valore di 
$my_mp3->{$filename}->{"TITLE"}??
Grazie

 base a $my_mp3->{$filename}->{"TITLE"} che sarebbe lo stesso)
ho provato con:
foreach my $key ( sort { %{$my_mp3{$a}} cmp %{$my_mp3{$b}} } keys %{ 
$my_mp3 } )
{
   print "$key => " . $my_mp3->{$key}->{"TITLE"} . "\n";
}
ma non funziona

 {
 for my $k ( 
    sort { $my_mp3->{$a}->{TITLE} cmp $my_mp3->{$b}->{TITLE} }  
          keys %$my_mp3  ) 
 {    
       ...
MM

Newsgroup: it.comp.lang.perl
Titolo: perl & cgi

Qualcuno sa darmi qualche indirizzo per trovare documentazione su perl &
cgi?
GRAZIE

 wrote in message
news:Pine.GSO.4.05.9909100937020.26488-100000@ely...


 cgi?
http://www.perl.com
 
e poi cerca CGI con il select box laterale.
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)

Newsgroup: it.comp.lang.perl
Titolo: aprire un file

Salve, volevo sapere come specificare al comando OPEN la path di un file che
voglio far leggere al mio script:, cerco di essere più chiaro:
ho due cartelle dentro la cgi-bin  cart1 e cart2 , il mio script si trova in
cart1, il file da leggere in cart2, quale path devo mettre dopo OPEN?
Grazie a chi risolverà questo caso umano!!! :)

 cerchero` un'altra donna dentro ai sogni di Tarzan...
(PGP public key: 
http://www.crossbow.it/download/PGPpublickey.asc
)

 ha scritto nel messaggio
news:1ej068r.1a7184ouceboaN%bale...@mac.com...

Newsgroup: it.comp.lang.perl
Titolo: Controllare indirizzo mail

E' possibile creare uno script in perl che mi consenta di verificare se un
utente ha digitato in un form un indirizzo di posta elettronica esistente
oppure inventato?
Grazie a tutti.

 non li conosco e quindi non posso aiutarti.
Pardon, potevo guardarci anche prima:
Net::DNS
Al che il codice che ho scritto prima diventa:
[code]
  #!/usr/bin/perl
  use Net::DNS;
  #[...]
  # $email e' l'indirizzo di posta fornito dall'utente
  $host = ($email =~ /.+\@(.+)/);
  if(mx($host)) {
    print "Ok, $host ha un mailer\n";
  }
  elsif ($addr = gethostbyname($host)) {
    print "L'indirizzo di $host e': ". join('.',unpack('C4',$addr)) . "\n";
  }
  else {
    print "Mi sa che questo indirizzo e' fasullo\n";
  }
[/code]
ciao, marco
--
Marco Cacchiani                                
e-mail:ma...@sirius.pisa.it
Public pgp key:         
http://www.sirius.pisa.it/marco/pgp_public_key.asc
Sirius Servizi Informatici                     e-mail: 
in...@sirius.pisa.it
Parco Teatro Pasolini, 1                       Phone:  +39 (50) 865120
I-56019 - Vecchiano                            Fax:    +39 (50) 860260
(Pisa - ITALIA)                                
http://www.sirius.pisa.it/

 oppure inventato?
No, non e' possibile, perche' sui server di posta elettronica possono (e in
genere per motivi di privacy e sicurezza _sono_) disabilitati i comandi di
verifica degli indirizzi (VRFY e EXPN).
Al massimo quello che puoi fare e' verificare l'esistenza del dominio.
Suppongo che esistano dei moduli perl per fare la risoluzione dei nomi, ma
non li conosco e quindi non posso aiutarti.
Pero' se sei sotto unix/linux puoi fare qualcosa del tipo:
[code]
  # $email e' l'indirizzo di posta fornito dall'utente
  $host = ($email =~ /.+\@(.+)/);
  # Occhio che questo comando di sistema ha un timeout di un minuto,
  # quindi c'e' il rischio di rimanere appesi.
  # sarebbe consigliabile lanciarlo con un fork di cui si controlla
  # la durata max
  if(`host -t mx $host 2>/dev/null`) {
     print "Ok, $host ha un mailer associato\n"
  }
  elsif ($addr = gethostbyname($host)) {
     print "L'indirizzo di $host e': ". join('.',unpack('C4',$addr)) . "\n";
  }
  else {
     print "Mi sa che questo indirizzo e' fasullo\n";
  }
[code]
Infine, visto che le operazioni di risoluzione dei nomi possono essere lente
e onerose per la macchina, valuta anche l'ipotesi di crearti una cache
locale con i nomi buoni che trovi via via. In questo modo se un dominio e'
gia' nella cache eviti una query al dns e fai molto prima.


Net::DNS
Volendo c'e` anche il modulo:
Mail::CheckUser
che effettua vari tipi di controllo su un indirizzo.
	Michele.
-- 
Michele Beltrame
m...@io.com
http://www.io.com/~mick/
ICQ# 76660101
==> Sito di it.comp.lang.perl: 
http://www.perl-it.org
==> Sei del triveneto e vuoi unirti ai Perl Mongers? Scrivimi!
Newsgroup: it.comp.lang.perl
Titolo: Cerco host italiano che supporti le cgi

Salve, avrei bisogno di un hosting italiano (possibilmente non lento) che
supporti le cgi (tipo Hypermart e simili) dove possa trasferire il mio
dominio che attualmente si trova su Tiscali, qualcuno ne conosce?
--
Ciao, Matteo.

 wrote in message
93cv4r$9t85k$3...@ID-39426.news.dfncis.de...


 ha scritto nel messaggio
news:93cv4r$9t85k$3...@ID-39426.news.dfncis.de...

www.hostingitalia.it
Supporto cgi con 12 script preinstallati, dominio, frontpage, 50 caselle di
posta e 50 Mb a 150.000+iva.
Io mi rivolgo da loro...
bye, Ciruz

Newsgroup: it.comp.lang.perl
Titolo: parser?

salve a tutti!
per un programmino che sto scrivendo userò dei file di configurazione
che conterranno la struttura di un albero (nodo padre - nodo figlio) e
alcune caratteristiche dei nodi.
Questi file verranno letti più volte durante l'esecuzione dello script perl.
Il mio quesito è se è meglio impostare la struttura del file di
configurazione a mio piacimento e poi scrivere un parser del file che
vada a leggerlo correttamente o se esiste già qualcosa di fatto e comodo
(ho pensato all'xml...)
grazie a tutti!
ar

 (ho pensato all'xml...)
Esistono moduli per gestire strutture di dati ad albero ed esistono 
moduli per serializzare/deserializzare tali strutture su/da file, anche 
in formati /human readable/, pertanto suggerirei la seconda che hai detto.
Ciao,
Emanuele.

 in formati /human readable/, pertanto suggerirei la seconda che hai detto.
si, infatti mi ero messo a scrivere un parser semplice semplice per un
file di configurazione semplice semplice, ma dopo un pomeriggio ho
abbandonato l'idea e ho dato uno sguardo su cpan... :-)
grazie per le risposte!
ar

 file di configurazione semplice semplice,  [...]
Un tempo (prima di adottare un formato più robusto e strutturato) usavo
questo semplice codice (che ho ripreso da un vecchio script)
        while( <FILE> )
        {
                next if /^\s*#|^\s*$/;
                s/\s+$//g;
                s/^\s+//g;
                my ($k,$v) = split /\s*=\s*/, $_, 2;
                next unless $v;
                $v =~ s/^(['"])(.*)(\1)$/$2/;
                $data{$k} = $v if $k;
        }
per leggere dei file con il seguente formato
       chiave1 = valore1
       # commento
       chiave2 = "        valore 2 "
e inserire i valori in un hash (%data).
Max
Newsgroup: it.comp.lang.perl
Titolo: XML:Simple

Ciao,
Ho questo problema il mio script è questo:
my $Computer = XMLin($file, forcearray => ['Hotfix', 'Program']);
my $General_info=$Computer->{General_info};
my $Installed_hotfixes=$General_info->{Installed_hotfixes};
my $Hotfix=$Installed_hotfixes->{Hotfix};
for( @{$Hotfix=$Installed_hotfixes->{Hotfix}} ) {
my $sth = $dbh->prepare("INSERT INTO Hotfix (Computer_name, Hotfix_name)
VALUES (?, ?)");
$sth->execute($ARGV[0], $_->{Hotfix_name});
}
il problema è che in alcuni file xml che elaboro la parte 'Hotfix' esiste
sotto 'Installed_hotfixes' in altri no, quindi quando non c'è mi va
in errore quando inizia il for, come posso fare?
GRAZIE
SIMONE

 mi va in errore quando inizia il for, come posso fare?
Puoi postare un'esempio di xml?
Ciao,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

Puoi postare un'esempio di xml?
Esempio con:
<Computer>
  <General_info>
    <Operating_system>
      <Name>Microsoft Windows XP Professional</Name>
      <Major_version>5</Major_version>
      <Minor_version>1</Minor_version>
    </Operating_system>
    <Installed_hotfixes>
      <Hotfix>
        <Hotfix_name>SP2\KB821557</Hotfix_name>
      </Hotfix>
    </Installed_hotfixes>
  </General_info>
</Computer>
Esempio senza:
<Computer>
  <General_info>
    <Operating_system>
      <Name>Microsoft Windows XP Professional</Name>
      <Major_version>5</Major_version>
      <Minor_version>1</Minor_version>
    </Operating_system>
    <Installed_hotfixes/>
  </General_info>
</Computer>
Quando è senza mi và in errore come ho detto prima...
SIMONE

 my $Hotfix             = $Installed_hotfixes->{Hotfix};
non ti occorre rifarlo.
Il codice qui sotto funziona sia con il primo esempio xml che con il
secondo.
  use strict;
  use warnings;
  use XML::Simple;
  my $Computer           = XMLin( 'p1.xml', forcearray => [ 'Hotfix',
  'Program' ] ); my $General_info       = $Computer->{General_info};
  my $Installed_hotfixes = $General_info->{Installed_hotfixes};
  my $Hotfix             = $Installed_hotfixes->{Hotfix};
  foreach my $item ( @$Hotfix ) {
    print $item->{Hotfix_name} ."\n";
  }
Ti do un paio di consigli:
1 - Comincia a studiare Perl dalle basi, di tutorial in rete ce ne sono
parecchi, primo 
www.perl.it
. (Io ti consiglio un buon libro, ma dipende
da quanto "seriamente" vuoi imparare Perl).
2 - Se utilizzi spesso XML, studiati bene le strutture di dati
complesse, tipo array di array, array di hash, hash di array, etc..
3 - Usa sempre use strict.
4 - Cerca in rete PerlTidy, che è un programma che formatta
(indentatura, spazi, etc..) script perl, per una migliore chiarezza nel
codice.
Questi erano i miei 2 cents,


Grazie per i tuoi suggerimenti, e solo che devo risolvere un problema di
corsa e quindi sto iniziando
un pò male a studiare il perl.
un'ultima cosa se puoi rispondere quando leggo un dato nel file xml nullo e
lo metto nel db mi viene
anczihe' null un valore del tipo HASH(0x82f3cf0)
Come mai? grazie
SIMONE
Newsgroup: it.comp.lang.perl
Titolo: Re: split

 $a = $array[3];
Credo si possa fare cosě:
my $a = @{ split('\s+', $var) }[3];
Ciao,
-- 
+--------+ | ASCII ribbon campaign ( ) | 
www.autistici.org/kral
|  kral  | |  - against HTML email  X  |
+--------+ |              & vCards / \ | my gpg id = 0x7C946947

 gmax
Amo questo uomo :같)

 my $a = @{ split('\s+', $var) }[3];
o cosě:
my(undef, undef, undef, $a) = split(/\s+/, $var);
cheers,
Aldo

Newsgroup: it.comp.lang.perl
Titolo: Due domande

1) Esiste un convertitore da Perl a C
2) C'è un sito con le FAQ del NewsGroup, così non vi rompo con le banalità
Ciao
Giuseppe Di Natale
gdin...@camomillaitalia.it
-------------------------------------------
JS Labs - FAQ di it.comp.lang.javascript
http://jslabs.webhostme.com
jsl...@yahoo.com
-------------------------------------------

> 2) C'è un sito con le FAQ del NewsGroup, così non vi rompo con le banalità
Lo stiamo facendo

Newsgroup: it.comp.lang.perl
Titolo: Gestione file

Salve vorrei un consiglio.
Io sto facendo un sito di aste, dove quando un utente vuole vendere qualcosa
si crea un nuova pagina html.
Il mio problema è questo: visto che le aste hanno una scadenza imposta
dall'utente, come faccio a creare un programma che le cancelli dopo un tot
di giorni?
Grazie

 un tot di giorni?
  Il tuo non e` un problema PERL ma dipendente dal sistema operativo. Ad
ogni modo: se il SO e` uno UNIX prova con
	$ man at
se, invece, e` NT, troverai utile:
	Start -> Help -> Index -> "at"
	Alla prossima,
		Marco
Newsgroup: it.comp.lang.perl
Titolo: Libro per approfondire il linguaggio

salve,
per approfondire il linguaggio quale libro mi consigliate
- Advanced Perl Programming
- Advanced Perl Programming 2nd edition
- Professional Perl Development
- Professional Perl Programming 
o cos'altro?
In pratica cerco qualcosa da leggere dopo "Programming Perl"
TIA, Al Ferrari

 In pratica cerco qualcosa da leggere dopo "Programming Perl"
Se hai letto il "Camel book"(*) sai già tutto ;-)
Ciao,
Emanuele.
(*) Che poi manco sarebbe un cammello.
Newsgroup: it.comp.lang.perl
Titolo: Successo ed insuccesso

Ho paura che la domanda che sto per farvi sia al limite del banale, ma
tant'č non riesco a trovare una soluzione accettabile! Quindi mi rivolgo
al gruppo!
Ipotizzando che io abbia:
open (FILE, "< nomefile.txt") || die "$!\n";
indico in l'operatore "||" che, in caso non sia possibile aprire il file
mi sia comunicato l'insuccesso; ma come posso sapere il contrario?
Una risposta scontata potrebbe essere "vedi se il file viene aperto"
oppure "se viene chiamato il die l'operazione non ha avuto successo", ma
vorrei qualcosa di piů preciso, del tipo:
apri il file e, se ci riesci, fammelo sapere in qualche modo!
(ovviamente da tradurre in Perl!)
Come posso farlo in modo preciso??
TIA
M.
-- 
echo f 0:0 ffff 0 | debug
La leggerezza del VOLER essere ....

 il contrario?
  Ovviamente, se non e` risolta in un insuccesso, e` incorsa in un
successo...
<code>
	if (open FILE,'<filepath')	{ warn 'Ole`!' }
	else 				{ die "Argh: $!" }
</code>
	Alla prossima,
		Marco

(ovviamente da tradurre in Perl!)
Ma se il file non viene aperto il programma si ferma li...
quindi se continua l'open ha avuto successo.
se proprio vuoi puo fare:
open (FILE, "< nomefile.txt") || die "$!\n";
print "File nomefile.txt" aperto\n";
oppure 
(open (FILE,"nomefile.txt") && print "File aperto\n") || die "File non
aperto: $!\n";
o in altri mille modi.
Ma rimane una cosa inutile, IMHO.
-- 
Saluti,
Giancarlo

!
Usa "and" al posto di "or":
open (FILE, "< nomefile.txt") and print "Okay!\n";
	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: ... lasciamo perdere !!!!
Ok, mi rendo conto che la domanda era non solo banale, ma addirittura
idiota!
Ma sapete, ogni tanto i neuroni vanno in ferie ;-)
Grazie a tutti, comunque! I miei neuroni vi devono un favore!
;-)


 Come posso farlo in modo preciso??
propongo:
<code>
   open (FILE, "< nomefile.txt") || die "$!\n";
   dialme($myphonenumber);
</code>
dove:
    $myphonenumber
        e' il tuo numero di casa (o di cellulare se non ti vuoi perdere
nemmeno un'apertura di file)
    &dialme
        e' una subroutine che usa il modem attaccato alla tua macchina per
telefonarti
Nella perlfaq8 ci sono alcuni dettagli OS-specifici per creare la routine
dialme.
:) ciao, marco
--
Marco Cacchiani                                
e-mail:ma...@sirius.pisa.it
Public pgp key:         
http://www.sirius.pisa.it/marco/pgp_public_key.asc
Sirius Servizi Informatici                     e-mail: 
in...@sirius.pisa.it
Parco Teatro Pasolini, 1                       Phone:  +39 (50) 865120
I-56019 - Vecchiano                            Fax:    +39 (50) 860260
(Pisa - ITALIA)                                
http://www.sirius.pisa.it/
Newsgroup: it.comp.lang.perl
Titolo: while (<STDIN>)

buongiorno a tutti , ho appena iniziato a studiare il perl , ho letto
alcune guide su internet ma leggendo qualche esempio non capisco
alcune istruzioni, esempio:
#!/usr/bin/perl
$|=1
while (<STDIN>) { $miavariabile .= $_; }
1;
fino a quando si cicla ?
quanto vale $_ ?
cosa serve $|=1 ?
grazie tante
beppe neofita in perl

 grazie tante
prego
 Raffaello

scrivi da command line
     perldoc perldoc
La documentazione di perl, all'opposto del linguaggio, è decisamente MAL
ORGANIZZATA purtroppo, in quanto per cercare quale nome di variabile, o
qualche funzione, devi sapere PRIMA che tipo di funzione è, e cercarla nel
documento che spiega tale funzione: se non sai il nome del documento ti
gratti! Bella porcheria per un neofita!
Comunque a parte lo sforzo di raggiungere l'informazione che ti serve, poi,
quando la trovi, è di solito molto ben spiegata e ricca di esempi
interessanti.
Per rispondere più specificamente alle tue richieste:
$_ e $| le trovi con
    perldoc perlvar
il while e <FH> non mi ricordo nemmeno io dove cercarle  :-), fai un firo
in:
    perldoc perltoc
e vedi se ti viene in mente dove potrebbero stare :-)
Benvenuto al News Group.
--
perl -MLWP::Simple -e "getprint(' 
http://perl.4pro.net
 ')"

 con il cammello).
Quello di Schwartz & Phoenix? ma non è un lama? :-)
stefano


wrote:

Quello e` "Learning Perl". Stando a quello che ho sentito 
dire io, e` piu` adatto a chi deve imparare. 
ciao
Stefano

 STDIN e' l'handle dell'input da tastiera.
Questo non e' proprio corretto.
Se ad esempio eseguo:
$ cat file.txt| 
script.pl
in STDIN leggo l'output della pipe ovvero il contenuto di file.txt
STDIN sta per standard input ed e' un concetto piu' genrico di "input da 
tastiera"
-- 
Saluti,
Giancarlo



Volevo essere "terra-terra", grazie per aver precisato.
 Raffaello

Grazie a tutti per le informazioni, ho intenzione di comprare il libro
consigliato e ci sentiamo alle prossima.
grazie ancora
beppe

Newsgroup: it.comp.lang.perl
Titolo: Aiuto!!!

Scusate l'ignoranza a dir poco pecorina, ma dovrei far eseguire uno script
perl sotto NT Server, come si fa? C'č qualcuno di buon cuore che puņ darmi
una mano?
Grazie in anticipo.
********************************
Gino Barisciano
E-mail: 
gino.ba...@connect.it
********************************

 wrote in message
8910gg$rr1$1...@nslave1.tin.it...

Newsgroup: it.comp.lang.perl
Titolo: Chiarimento su sintassi

Che differenza c'è tra:
    $d[$i][$j] = 1;
e
    $d[$i,$j] = 1;
?
Grazie in anticipo.
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
                     "Sei in ritardo di mezz'ora!"
                     "Sono caduto dalle scale."
                     "E ti ci e' voluta mezz'ora?"
                     		-- Groucho e Chico Marx

 ?
Sono due cose completamente diverse.
La prima espressione assegna il valore 1 al $j+1-esimo elemento della 
lista il cui reference figura come $i+1-esimo elemento dell'array @d.
Puoi riguardarlo come l'accesso all'elemento $i,$j di una matrice (e 
probabilmente è quello che volevi).
Puoi scriverlo equivalentemente come: $d[$i]->[$j] = 1;
Invece la seconda espressione è sostanzialmente sbagliata ;-)
La sintassi multidimensionale non è supportata in Perl (con i warnings 
attivati ti verrebbe anche segnalato), quindi all'interno delle 
parentesi quadre viene applicato l'operatore "," binario ai 2 elementi 
$i e $j, e il suo risultato (che sarebbe $j) viene utilizzato come 
indice (monodimensionale) dell'array @d.
Non è (quasi) mai quello che uno vorrebbe.
Se invece avessi usato @d[$i, $j] avresti ottenuto un array-slice, 
ovvero la /fetta/ dell'array @d composta dai due elementi di indice $i e 
$j (che è essa stessa una lista, da cui l'uso di "@" davanti 
all'espressione).
Questo è invece corretto ed utile.
Un paio di esempi dovrebbero chiarire il tutto:
use warnings;
my @matrice_2x2 = ( [1, 2], [3, 4] );
print $matrice_2x2[1][1];      # Stampa: 4
print $matrice_2x2[1]->[1];    # Idem
my @array = qw(a b c d e f g);
print @array[1, 2, 3];         # Stampa: bcd
print $array[1, 2, 3];         # Stampa: d   (più il warning)
Ciao.

 Ciao.
Grazie e a buon rendere.
-- 
                     Dona i tuoi cicli di clock alla ricerca!
 
http://boinc.berkeley.edu/
                          --------------------
Una porta e' cio' di cui un cane e' permanentemente dalla parte sbagliata.
		-- Ogden Nash

Newsgroup: it.comp.lang.perl
Titolo: Reload non da cache

Allora ho fatto un programma PERL e l'ho inserito nella pagina HTML
attraverso un SSI. Adesso il problema è che caricando la pagina una seconda,
terza, n volta questa non viene richiamata sul SERVER e quindi il SSI non
viene eseguito, ma siccome la dimensione e la data coincidono, viene
ricaricata dalla cache. C'è un modo per dire al browser di ricaricare sempre
dal remoto la pagina e mai dalla cache??
Graze, aldo.

not...@of.nothing wrote:
 >Allora ho fatto un programma PERL e l'ho inserito nella pagina HTML
 >attraverso un SSI. Adesso il problema è che caricando la pagina una seconda,
Leggi la documentazione dei SSI, di default la pagina non dovrebbe
essre cacheabile. Comunque sei off topic.
-- 
ciao, | [Per rispondere togli "toglimi" dal mio indirizzo.]
Marco | * The Internet is full. Go away.  -- Joel Furr *
Newsgroup: it.comp.lang.perl
Titolo: split

Ciao, 
voi come fareste in Perl a splittare questo link: 
file:///macintosh HD/Utenti/Claudio/Desktop 
in piu pezzi tipo: 
file:///macintosh HD/Utenti/Claudio/Desktop 
file:///macintosh HD/Utenti/Claudio/ 
file:///macintosh HD/Utenti/ 
file:///macintosh HD/ 
ciao
-- 
Alla batteria dai retta, ballA!

Probabilmente utilizzerei URI::Split
(
http://search.cpan.org/~gaas/URI-1.35/URI/Split.pm
) o l'espressione
regolae riportata nella documentazione di URI
(
http://search.cpan.org/~gaas/URI-1.35/URI.pm#PARSING_URIs_WITH_REGEXP
):
my($scheme, $authority, $path, $query, $fragment) =
  $uri =~
m|(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?|;
o magari, sapendo che inizia sempre con 'file://', semplicemente lo
eliminerei con substr ricavando così $path.
Per suddividere la parte $path probabilmente utilizzerei una semplice
split sul carattere '/'.
Ciao,
   Flavio.
Newsgroup: it.comp.lang.perl
Titolo: problemi con http::response e request MOLTO strani?? qualceh idea???

scusate non ho ancora avuto il tempo di trdurla in italiano .... spero non
vii offendiate!!! ^_^ Federico
Hi all,
    I have a very strange problem with the http:request class when I use it
to interrogate the remote search engine of Amazon, and an other one II thing
I ihave solved.
    The problem I have solved is this: the form of the search engine of
Amazon is the follow:
1) url: htp://
amazon.com/exec/obidos/external-search
2) method: GET
3) environment variables:
mode=Books&keyword=~write_here~&tag=genialcomparison&Go=Go
where instead of ~write_here~ you have to put the keywords and substitute
every space with the sequence %20. If you use the classes Response and
Requeste defining the variable of the form with the Request class function
"content(...)" the answer of the request will be an error page from Amzon. I
don't know why;have any idea?), BUT I KNOW that if you codify the cgi
environment variables manually ie if you write
    $temp=HTTP::Request-> new('GET' =>
'htp://
amazon.com/exec/obidos/external-search?mode=Books&keyword=~write_here
~&tag=genialcomparison&Go=Go');
it will work correctly!!!!!!!!!!!!!!!
    But the real problem is another one: this form sended by a perl scrip
with some sequence of keywords doesn't work correctly. For example it always
work if you use just ONE word ... if you use 2 words or more it depends
from which  words. But if you copy-and-paste all the url and variables  in
the URL field of your browser using a sequence off keywords that with the
script has generated and error ... with the broswer it will work
perfectly!!!!! SO ... I DON'T KNOW WHAT I CAN THINK NOW .... IS THERE
SOMEBODY WHO HAVE AN IDEA????????????????????????????????
    Sorry for my terrible English, PLEASE if yoiu have an idea write me;
thank you all very much, from italy
            Federico.
PS: you can try with the keywords:
1) Fifty Ferrari Grand Prix  that DON'T work with perl script but  work with
the browser!
2) Fifty Ferrari work correctly!!!!

 it will work correctly!!!!!!!!!!!!!!!

Dipende che tipo di parametro si aspetta 'keyword'. Se per caso e' un
parametro multivalore, la cosa migliore e' costruire la richiesta
esplicitamente con HTTP::Request::Common e passare come parametro il
riferimento ad un array.
Dettagli nelle pagine di manuale.
Maurizio
-- 
Maurizio M. Munafo' / 
mmmu...@netscape.net
"Consider Phlebas, who was once handsome and tall as you" (T.S.Eliot)