The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

use strict;
use warnings;

use Tripletail q(login.ini);

$TL->startCgi(
	      -main => \&main,
	      -DB => 'DB',
	      -Session => 'Session',
	     );


sub main {

  my $t = $TL->newTemplate('login.html');

  my $session = $TL->getSession('Session');

  if($CGI->exists('id')) {
    # 全角数字を半角数字に直し,数字以外の文字を取り除きます.
    my $id = $TL->newValue($CGI->get('id'))->convNarrow->forceNumber->get;
    
    if($id ne '') {
      $session->setValue($id);
    }
  }

  my $sid = $session->get;
  my $id = $session->getValue;
  if($id) {
    $t->node('session')->add(SESSIONID => $sid,
			     SESSIONDATA => $id);
  } else {
    $t->node('nosession')->add;
  }

  # flush はセッションの操作を全て終えた後に行わなければならない.
  
  $t->flush;
}