ÆÞ¿¡¼´Â ½Ã½ºÅÛ¿¡¼ ¹Ì¸® Á¤ÀÇÇÑ »ó´çÈ÷ ¸¹Àº ½Ã½ºÅÛ º¯¼ö°¡ ÀÖ´Ù. ÀÌµé ¸ðµÎ¸¦ ¼³¸íÇÏ´Â °ÍÀº °ÀÇÀÇ ¸ñÀû¿¡ ¸ÂÁö ¾ÊÀ¸¹Ç·Î ¿©±â¿¡¼´Â CGI¿Í °ü·ÃµÈ ¸î¸î ½Ã½ºÅÛ º¯¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù.
$_, @_
±âº»ÀûÀÎ ÀԷ°ª°ú ÆÐÅÏ °Ë»ö °ªÀ» °¡Áö°í ÀÖ´Â º¯¼öÀÌ´Ù. ÀϹÝÀûÀ¸·Î ÆÞ¿¡¼ ¸®ÅÏ°ªÀ» ÀúÀåÇÏ´Â º¯¼ö°¡ ¾ø´Â °æ¿ì $_, @_¸¦ »ç¿ëÇÑ´Ù. µû¶ó¼ ´ÙÀ½ÀÇ ¿¹´Â ¸ðµÎ °°Àº °á°ú¸¦ °®´Â´Ù.
1: while (<>) {...} while($_ = <> ) {...}
2: /^Subject:/ $_ =~ /^Subject:/
3: tr/a-z/A-Z/ $ =~ tr/a-z/A-Z/
4: chop chop($_)
$0, $ARGV, @ARGV, ARGV
C¿¡¼ argc¿Í argvÀÇ ±â´ÉÀ» ÇÏ´Â º¯¼öµéÀÌ´Ù. Áï, $0´Â ¸í·ÉÇà¿¡¼ ½ÇÇàÇÑ ¸í·ÉÀ» °®´Â º¯¼öÀ̸ç, @ARGV´Â ¸í·ÉÇà¿¡¼ ³Ñ°ÜÁØ ÀÎÀÚ¸¦ ÀúÀåÇÏ°í ÀÖ´Â ¹è¿ÀÌ´Ù. µû¶ó¼ c¿Í´Â ´Þ¸® ¸í·É°ú ÀÎÀÚ¸¦ ¸ðµÎ ó¸®ÇϱâÀ§Çؼ´Â $0¿Í @ARGV¸¦ ÀÌ¿ëÇØ¾ß ÇÑ´Ù. $ARGV´Â <>·Î ÀÐÀ» ¶§ ÇöÀç ÆÄÀÏÀÇ ÆÄÀϸíÀ» °®´Â º¯¼öÀÌ´Ù. <>´Â <ARGV>¿¡¼ ARGV¸¦ »ý·«ÇÑ ÇüÅÂÀÌ´Ù.
1: print "ARGC is ", ($#ARGV + 1), "\n";
2: print "ARGV is 1: push(@INC, '/home/artech/public_html/cgi-bin');
2: require 'cgi-lib.pl';
3: &ReadParse;
4: print "@INC\n";
5: print "$INC{'cgi-lib.pl'}\n";
, ", join(', ', @ARGV), "\n";
3: while(<>) {
4: print "$ARGV\t";
5: print;
6: }
@INC
do EXPR, require, use¿¡ÀÇÇØ »ç¿ëµÉ ÆÞ ¶óÀ̺귯¸®ÀÇ ¸ñ·ÏÀ» °®´Â ¹è¿ÀÌ´Ù. ÆÞ¿¡¼ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâÀ§ÇØ »ç¿ëµÈ´Ù.
%INC
do ³ª require¿¡ÀÇÇØ includeµÇ´Â °¢ ÆÄÀÏ¿¡´ëÇÑ °æ·Î, ÆÄÀÏ Á¤º¸¸¦ °®´Â ¿¬°ü¹è¿ÀÌ´Ù. Å°´Â ÆÄÀϸíÀ̵Ǹç, °ªÀº ÇØ´ç ÆÄÀÏÀÇ °æ·Î°¡ µÈ´Ù. require ¸í·ÉÀº ÀÌ ¿¬°ü¹è¿À» ÀÌ¿ëÇؼ ÀÌ¹Ì includeµÇ¾ú´ÂÁöÀÇ ¿©ºÎ¸¦ ÆÇÁ¤ÇÑ´Ù.
1: print "Printing ENV Variable\n";
2: foreach (keys %ENV) {
3: print "$_ \t $ENV{$_}\n";
4: }
%ENV, $ENV{ENVIRONMENT}
ÇöÀç ½Ã½ºÅÛÀÇ È¯°æº¯¼ö¸¦ Æ÷ÇÔÇÏ´Â ¿¬°ü¹è¿ÀÌ´Ù. ENVÀÇ °ªÀ» º¯°æÇϸé child ÇÁ·Î¼¼¼ÀÇ È¯°æº¯¼ö°¡ º¯°æµÇ¸ç, CGI ÇÁ·Î±×·¥¿¡¼ ȯ°æº¯¼ö¸¦ ÀбâÀ§ÇØ ¸¹ÀÌ »ç¿ëÇÏ´Â ½Ã½ºÅÛ º¯¼öÀÌ´Ù.
[code=xml]1: print "Printing ENV Variable\n";
2: foreach (keys %ENV) {
3: print "$_ \t $ENV{$_}\n";
4: }
[/code]