view release on metacpan or search on metacpan
author/build-perl-al2.sh view on Meta::CPAN
ln -s /usr/include/locale.h /usr/include/xlocale.h
# some libraries are missing in the image for running.
cp -R /lib64/libcrypt[.-]* /opt/lib/
cp -R /usr/lib64/libcurl.* /opt/lib/
# AWS::Lambda is installed as vendor modules.
# site_perl is reserved for other AWS Lambda layers.
# and skip man page generation.
export PERL_MM_OPT="INSTALLDIRS=vendor CCFLAGS=-I/opt/include LIBS=-L/opt/lib INSTALLMAN1DIR=none INSTALLMAN3DIR=none"
export PERL_MB_OPT="--installdirs=vendor --ccflags=-I/opt/include --lddlflags=-L/opt/lib --config installman1dir= --config installsiteman1dir= --config installman3dir= --config installsiteman3dir="
export PERL_MM_USE_DEFAULT=1
# install pre-installed modules
curl -fsSL --compressed http://cpanmin.us | perl -i -pe 's(^#!.*perl$)(#!/opt/bin/perl)' > /tmp/cpanm
install /tmp/cpanm /opt/bin/cpanm
curl -fsSL --compressed https://raw.githubusercontent.com/skaji/cpm/main/cpm | perl -i -pe 's(^#!.*perl$)(#!/opt/bin/perl)' > /tmp/cpm
install /tmp/cpm /opt/bin/cpm
# Net::SSLeay needs special CCFLAGS and LIBS to link
PERL_MM_OPT="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" /opt/bin/cpanm --notest "Net::SSLeay@$NET_SSLEAY_VERSION"
author/build-perl-al2023.sh view on Meta::CPAN
ln -s /usr/include/locale.h /usr/include/xlocale.h
# some libraries are missing in the image for running.
cp -R /lib64/libcrypt[.-]* /opt/lib/
# cp -R /usr/lib64/libcurl.* /opt/lib/
# AWS::Lambda is installed as vendor modules.
# site_perl is reserved for other AWS Lambda layers.
# and skip man page generation.
export PERL_MM_OPT="INSTALLDIRS=vendor CCFLAGS=-I/opt/include LIBS=-L/opt/lib INSTALLMAN1DIR=none INSTALLMAN3DIR=none"
export PERL_MB_OPT="--installdirs=vendor --ccflags=-I/opt/include --lddlflags=-L/opt/lib --config installman1dir= --config installsiteman1dir= --config installman3dir= --config installsiteman3dir="
export PERL_MM_USE_DEFAULT=1
# install pre-installed modules
curl -fsSL --compressed http://cpanmin.us | perl -i -pe 's(^#!.*perl$)(#!/opt/bin/perl)' > /tmp/cpanm
install /tmp/cpanm /opt/bin/cpanm
curl -fsSL --compressed https://raw.githubusercontent.com/skaji/cpm/main/cpm | perl -i -pe 's(^#!.*perl$)(#!/opt/bin/perl)' > /tmp/cpm
install /tmp/cpm /opt/bin/cpm
# Net::SSLeay needs special CCFLAGS and LIBS to link
PERL_MM_OPT="INSTALLDIRS=vendor INSTALLMAN1DIR=none INSTALLMAN3DIR=none" /opt/bin/cpanm --notest "Net::SSLeay@$NET_SSLEAY_VERSION"
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
;# 2000.11.28 Ver1.57 ã¤ã³ã¿ã¬ã¼ã¹GIFé¨ã®ã³ã¼ããã¹ãä¿®æ£ã
;# 2001.09.14 Ver1.58 gifcatãé£ç¶ã§å¼ã³åºãéã®ä¸å
·åä¿®æ£ã
;# 2001.10.04 Ver1.59 åä¸ã
;# 2001.11.25 Ver1.60 gifprintã®ä¸å
·åä¿®æ£ã
;# 2002.06.10 Ver1.61 Netscape 6.*ã§1æ¡ç®ã表示ãããªãåé¡ã«å¯¾å¿ã
;#
;# ====================================================================
package gifcat;
$pflag = 0; # print flag
;# =====================================================
;# gifcat'gifprint() - print out GIF diagnostics.
;# =====================================================
sub gifprint {
$pflag = 1;
&gifcat(@_);
$pflag = 0;
}
;# =====================================================
;# gifcat'gifcat() - get a concatenated GIF image.
;# =====================================================
sub gifcat {
@files = @_;
$Gif = 0;
$leftpos = 0;
$logicalScreenWidth = 0;
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
} elsif ($cnt == $size) {
last;
} else {
return("ERROR");
}
}
undef($buf);
$Gif++;
}
if ($pflag == 1) {
return;
}
$GifImage = "GIF89a";
$GifImage .= pack("C", $logicalScreenWidth & 0x00ff);
$GifImage .= pack("C", ($logicalScreenWidth & 0xff00) >> 8);
$GifImage .= pack("C", $logicalScreenHeight & 0x00ff);
$GifImage .= pack("C", ($logicalScreenHeight & 0xff00) >> 8);
if ($useLocalColorTable) {
$PackedFields18[0] &= ~0x80;
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
}
if ($GlobalColorTableFlag) {
$globalColorTable[$Gif] = $GlobalColorTable;
if ($Gif > 0) {
if ($GlobalColorTable ne $globalColorTable[$Gif - 1]) {
$useLocalColorTable = 1;
}
}
}
if ($pflag) {
printf("=====================================\n");
printf("GifHeader\n");
printf("=====================================\n");
printf("Signature: %s\n", $Signature);
printf("Version: %s\n", $Version);
printf("Logical Screen Width: %d\n", $LogicalScreenWidth);
printf("Logical Screen Height: %d\n", $LogicalScreenHeight);
printf("Global Color Table Flag: %d\n", $GlobalColorTableFlag);
printf("Color Resolution: %d\n", $ColorResolution);
printf("Sort Flag: %d\n", $SortFlag);
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
$SizeOfLocalColorTable = 2 ** (($PackedFields20[$Gif] & 0x07) + 1);
$LocalColorTable = substr($buf, $cnt, $SizeOfLocalColorTable);
$cnt += $SizeOfLocalColorTable * 3;
} else {
$SizeOfLocalColorTable = 0;
$LocalColorTable = "";
}
$LzwMinimumCodeSize[$Gif] = ord(substr($buf, $cnt, 1)); $cnt++;
$ImageData[$Gif] = &DataSubBlock();
if ($pflag) {
printf("=====================================\n");
printf("Image Block\n");
printf("=====================================\n");
printf("Image Separator: 0x%02x\n", $ImageSeparator);
printf("Image Left Position: %d\n", $ImageLeftPosition);
printf("Image Top Position: %d\n", $ImageTopPosition);
printf("Image Width: %d\n", $ImageWidth[$Gif]);
printf("Image Height: %d\n", $ImageHeight);
printf("Local Color Table Flag: %d\n", $LocalColorTableFlag);
printf("Interlace Flag: %d\n", $InterlaceFlag);
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
$PackedFields23 = ord(substr($buf, $cnt, 1)); $cnt++;
$Reserved = ($PackedFields23 & 0xe0) >> 5;
$DisposalMethod = ($PackedFields23 & 0x1c) >> 5;
$UserInputFlag = ($PackedFields23 & 0x02) >> 1;
$TransparentColorFlag[$Gif] = $PackedFields23 & 0x01;
$DelayTime = ord(substr($buf, $cnt, 1))
+ ord(substr($buf, $cnt+1, 1)) * 256; $cnt += 2;
$TransparentColorIndex[$Gif] = ord(substr($buf, $cnt, 1)); $cnt++;
$BlockTerminator = ord(substr($buf, $cnt, 1)); $cnt++;
if ($pflag) {
printf("=====================================\n");
printf("Graphic Control Extension\n");
printf("=====================================\n");
printf("Extension Introducer: 0x%02x\n", $ExtensionIntroducer);
printf("Graphic Control Label: 0x%02x\n", $GraphicControlLabel);
printf("Block Size: %d\n", $BlockSize);
printf("Reserved: --\n");
printf("Disposal Method: %d\n", $DisposalMethod);
printf("User Input Flag: %d\n", $UserInputFlag);
printf("Transparent Color Flag: %d\n", $TransparentColorFlag[$Gif]);
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
}
;# =====================================
;# Comment Extension
;# =====================================
sub CommentExtension {
$ExtensionIntroducer = ord(substr($buf, $cnt, 1)); $cnt++;
$CommentLabel = ord(substr($buf, $cnt, 1)); $cnt++;
&DataSubBlock();
if ($pflag) {
printf("=====================================\n");
printf("Comment Extension\n");
printf("=====================================\n");
printf("Extension Introducer: 0x%02x\n", $ExtensionIntroducer);
printf("Comment Label: 0x%02x\n", $CommentLabel);
printf("Comment Data: ...\n");
printf("Block Terminator: 0x%02x\n", $BlockTerminator);
}
}
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
$TextGridWidth = ord(substr($buf, $cnt, 1))
+ ord(substr($buf, $cnt + 1, 1)) * 256; $cnt += 2;
$TextGridHeight = ord(substr($buf, $cnt, 1))
+ ord(substr($buf, $cnt + 1, 1)) * 256; $cnt += 2;
$CharacterCellWidth = ord(substr($buf, $cnt, 1)); $cnt++;
$CharacterCellHeight = ord(substr($buf, $cnt, 1)); $cnt++;
$TextForegroundColorIndex = ord(substr($buf, $cnt, 1)); $cnt++;
$TextBackgroundColorIndex = ord(substr($buf, $cnt, 1)); $cnt++;
&DataSubBlock();
if ($pflag) {
printf("=====================================\n");
printf("Plain Text Extension\n");
printf("=====================================\n");
printf("Extension Introducer: 0x%02x\n", $ExtensionIntroducer);
printf("Plain Text Label: 0x%02x\n", $PlainTextLabel);
printf("Block Size: 0x%02x\n", $BlockSize);
printf("Text Grid Left Position: %d\n", $TextGridLeftPosition);
printf("Text Grid Top Position: %d\n", $TextGridTopPosition);
printf("Text Grid Width: %d\n", $TextGridWidth);
printf("Text Grid Height: %d\n", $TextGridHeight);
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
;# Application Extension
;# =====================================
sub ApplicationExtension {
$ExtensionIntroducer = ord(substr($buf, $cnt, 1)); $cnt++;
$ExtentionLabel = ord(substr($buf, $cnt, 1)); $cnt++;
$BlockSize = ord(substr($buf, $cnt, 1)); $cnt++;
$ApplicationIdentifire = substr($buf, $cnt, 8); $cnt += 8;
$ApplicationAuthenticationCode = substr($buf, $cnt, 3); $cnt += 3;
&DataSubBlock();
if ($pflag) {
printf("=====================================\n");
printf("Application Extension\n");
printf("=====================================\n");
printf("Extension Introducer: 0x%02x\n",
$ExtensionIntroducer);
printf("Extension Label: 0x%02x\n",
$PlainTextLabel);
printf("Block Size: 0x%02x\n",
$BlockSize);
printf("Application Identifire: ...\n");
examples/cgi/WwwCounter/gifcat.pl view on Meta::CPAN
printf("Block Terminator: 0x00\n");
}
}
;# =====================================
;# Trailer
;# =====================================
sub Trailer {
$cnt++;
if ($pflag) {
printf("=====================================\n");
printf("Trailer\n");
printf("=====================================\n");
printf("Trailer: 0x3b\n");
printf("\n");
}
}
;# =====================================
;# Data Sub Block
examples/cgi/WwwCounter/wwwcount.cgi view on Meta::CPAN
# â
SSIã®ããã¹ãã¢ã¼ãã§ä½¿ç¨ããå ´åã¯ã$g_mode = "text"; ã¨ãã¦ã
# ã ãããï¼å¿
é ï¼
my $g_mode = "";
# â
è¡¨ç¤ºæ¡æ°ãä¾ãã°5æ¡ã«æå®ããå ´åã¯ã$g_figure = 5;ãã®ããã«æ
# å®ãã¦ãã ããã0 ãæå®ããã¨æ¡æ°èªå調æ´ã«ãªãã¾ãã
my $g_figure = 6;
# â
ãã¡ã¤ã«ããã¯æ©è½ããªã³ã«ããå ´å㯠1 ãããªãã«ããå ´å㯠0
# ãæå®ãã¦ãã ãããé常㯠1 ã§ããã§ãããã
my $g_lock_flag = 1;
# â
åã¢ãã¬ã¹ãã§ãã¯æ©è½ããªã³ã«ããå ´å㯠1 ãæå®ãã¦ãã ããã
# åãæ¥ã«åã IP ã¢ãã¬ã¹ããã®ã¢ã¯ã»ã¹ãã«ã¦ã³ãã¢ããããªã
# ãªãã¾ãã
my $g_address_check = 0;
# â
çç¥æã®ã«ã¦ã³ã¿ã¼åãæå®ãã¾ããã«ã¦ã³ã¿ã¼å㯠*.cnt ã *.dat
# ãªã©ã®ãã¡ã¤ã«åã«å¯¾å¿ãã¦ãã¾ãã
my $g_counter_name = "wwwcount";
examples/cgi/WwwCounter/wwwcount.cgi view on Meta::CPAN
close(IN);
}
}
#
# ããã¯ãå¾ã
#
sub doLock {
my($mtime);
if ($g_lock_flag) {
for (my $i = 1; $i <= 6; $i++) {
if (mkdir("$g_file_lock", 0755)) {
# ããã¯æåãæ¬¡ã®å¦çã¸ã
last;
} elsif ($i == 1) {
# 10å以ä¸å¤ãããã¯ãã¡ã¤ã«ã¯åé¤ããã
($mtime) = (stat($g_file_lock))[9];
if ($mtime < time() - 600) {
rmdir($g_file_lock);
}
examples/cgi/WwwCounter/wwwcount.cgi view on Meta::CPAN
# éä¸ã§çµäºãã¦ãããã¯ãã¡ã¤ã«ãæ®ããªãããã«ãã
sub sigexit { rmdir($g_file_lock); exit(0); }
$SIG{'PIPE'} = $SIG{'INT'} = $SIG{'HUP'} = $SIG{'QUIT'} = $SIG{'TERM'} = "sigexit";
}
#
# ããã¯ãéæ¾ãã
#
sub unlockLock {
if ($g_lock_flag) {
rmdir($g_file_lock);
}
}
#
# CGIã使ç¨ã§ããããã¹ããè¡ãã
#
sub test {
print "Content-type: text/html\n";
print "\n";