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
--- Directory.pm.org 2012-11-12 13:38:22.000000000 +0900 | |
+++ Directory.pm 2013-03-31 00:23:52.000000000 +0900 | |
@@ -5,6 +5,7 @@ | |
use Cwd (); | |
use Encode (); | |
+use Encode::Locale; | |
use DirHandle; | |
use Mojo::Base qw{ Mojolicious::Plugin }; | |
use Mojolicious::Types; |
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
#!/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
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 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
'How to use -> cscript remote_exe.vbs hostname "cmd /c dir" | |
strComputer = Wscript.Arguments(0) | |
strCommand = Wscript.Arguments(1) | |
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process") | |
errReturn = objWMIService.Create( strCommand , Null, Null, intProcessID ) | |
Select Case errReturn | |
Case 0 WScript.Echo "Command successfully completed " & "Process ID: " & intProcessID | |
Case 2 WScript.Echo "Access Denied" | |
Case 3 WScript.Echo "INsufficient Privilege" |
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 { |