Visualizzazione dei risultati da 1 a 5 su 5

Discussione: calendario in html

  1. #1

    calendario in html

    Salve,

    il seguente script mi riporta un calendarietto del mese corrente:
    codice:
    #!/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

  2. #2
    criptica??? "map" è una delle funzioni più semplici di Perl!!!

    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.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    grazie

  4. #4
    Originariamente inviato da shishii
    <condizione> ? <se vera fai questo> : <se falsa fai questo>
    quindi come potrei fare questa procedura?

    codice:
    foreach (1 .. 6)
    {
    
    	$id = $dbh->selectrow_array($sql) || undef;
    	
    	if ($id)
    	{
    		last;
    	} else {
    		$ore = $ore + 1;
    	}
    
    }
    così ??

    codice:
    $id ? last : $ore ++;
    grazie

  5. #5
    codice:
    foreach(1..6) {
    $dbh->selectrow_array($sql) ? last : $ore++;
    }
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.