PDA

Visualizza la versione completa : calendario in html


Claudio Vituzzi
28-10-2005, 18:53
Salve,

il seguente script mi riporta un calendarietto del mese corrente:


#!/perl -w

use strict;
use Time::Local;
use Carp;

my @days = qw(31 xx 31 30 31 30 31 31 30 31 30 31);

my @month = calendar(10, 2005, 1);

print "Mo Tu We Th Fr Sa Su\n";

foreach (@month) {
print map { $_ ? sprintf "%2d ", $_ : ' ' } @$_;
print "\n";
}

__END__;

Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

mi piacerebbe incastrare questo calendario in una tabella html table,tr,td, ma la riga: map { $_ ? sprintf "%2d ", $_ : ' ' } @$_; un p criptica...

qualcuno mi pu aiutare?

grazie

shishii
30-10-2005, 20:48
criptica??? "map" una delle funzioni pi semplici di Perl!!! :D

Ovviamente scherzo. ;)

map usato in quello maniera significa:

passa a "print" il risultato dell'elaborazione effettuato dal codice compreso tra {} sull'input contenuto nell'array @$_;

nel blocco {} abbiamo un operatore booleano ternario:

<condizione> ? <se vera fai questo> : <se falsa fai questo>

quindi nel tuo caso se nella griglia alla posizione data c' un numero scrivilo allineato a dx, altrimenti inserisci 4 spazi.

Claudio Vituzzi
30-10-2005, 21:47
grazie

Claudio Vituzzi
31-10-2005, 12:27
Originariamente inviato da shishii
<condizione> ? <se vera fai questo> : <se falsa fai questo>


quindi come potrei fare questa procedura?



foreach (1 .. 6)
{

$id = $dbh->selectrow_array($sql) || undef;

if ($id)
{
last;
} else {
$ore = $ore + 1;
}

}


cos ??



$id ? last : $ore ++;


grazie

shishii
31-10-2005, 18:01
foreach(1..6) {
$dbh->selectrow_array($sql) ? last : $ore++;
}

Loading