www.perlmania.or.kr에서 본인이 답변한 내용정리
차례대로 정리를 해보면 perl에서 reference를 dereference 할때는 [sigil]{}연산자를
사용합니다. 여기서 sigil은 결과로 어떤 데이터 타입을 가질것인가를 결정하는거죠.
@array = ( "one", "two", "three", "four", [10, 20, 30, 40, 50] );
$arrayref = \@array;
인 상태에서 $arrayref 안의 one을 가져오려면 해당값은 scalar이므로 sigil은 $가 되고
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use 5.010; | |
use strict; | |
use warnings; | |
use Benchmark; | |
use Data::Dumper; | |
timethese(1000000, { | |
perl => sub { sub_perl(100) }, | |
c => sub { sub_c(100) }, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Date: 2012-04-28 | |
Moose 2.0403 | |
Mouse 0.97 | |
Moo 0.091 + Class::XSAccessor 1.13 | |
Mo 0.31 | |
* Loading | |
time perl -e 'use Moose;' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use Encode; | |
use LWP::Simple; | |
my $c = get('http://eyenews.hankooki.com/mm_theme_view.php?gisa_id=00119568&cate_code=0402'); | |
my %imgs = ( $c =~ m{content:"(.*?)<br>.*?(http://photo.hankooki.com/gisaphoto/inews/2012/06/29/0629.*?\.jpg)"}g ); | |
foreach my $name ( keys %imgs ) { | |
my $new_name = Encode::encode('cp949', $name); # 윈도우 일때 | |
#my $new_name = Encode::encode('utf8', $name); # 리눅스 utf8 환경일때 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use 5.010; | |
my $aref = []; | |
{ | |
package My; | |
use List::Util qw/max/; | |
use namespace::autoclean; # 렉시컬 영역이 끝나면 이 이전에 import된 함수는 패키지에서 제거 | |
use Scalar::Util qw/reftype/; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
#How to use | |
#> perl remote_wmi.pl hostname Win32_ComputerSystem | |
#> perl remote_wmi.pl hostname Win32_PerfFormattedData_PerfOS_System | findstr SystemUpTime | |
# Here's a list of a few Helpful classes to get you started. | |
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa394084%28v=vs.85%29.aspx | |
# Win32_ComputerSystem | |
# Win32_Processor | |
# Win32_TimeZone | |
# ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
#How to use -> perl remote_exe.pl hostname "cmd /c dir" | |
use 5.010; | |
use strict; | |
use warnings; | |
use Win32::OLE; | |
use Win32::OLE::Variant; | |
my ($strComputer, $strCommand) = @ARGV; | |
my $objWMIService = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate,(security)}//$strComputer\\root\\cimv2:Win32_Process"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Bo.pm | |
package Bo; | |
sub new { | |
my ($class) = @_; | |
return bless { buff => 0 }, $class; | |
} | |
sub buff { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import urllib | |
import re | |
class KoreanSpeller: | |
def __init__(self, text): | |
self.text = text |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
# Usage: twit2irc.pl irc.example.com 6667 nickname '#channel1' '#channel2' '#channel3' | |
use strict; | |
use warnings; | |
use Encode qw/encode decode/; | |
use URI::Escape; | |
use utf8; | |
use String::IRC; | |
use AnyEvent::IRC::Client; | |
#use AnyEvent::Socket; |