Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Perl na linha de comando Lembra muito sed/awk, com todo o poder da PCRE sed: sed -i.bck -e ’s/foo/bar/g’ arquivo.txt perl: perl -i.bck -npe ’s/foo/bar/g’ arquivo.txt awk: awk ’{print $1;}’ arquivo.txt perl: perl -npe ’print $F[0]’ arquivo.txt Perl = Shell Script + awk + sed + ... + CPAN! o/ Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
$ perl dicas.pl include ’arruma string’ -i.bck -npe ’s/foo/bar/g’ arquivo.txt $ perl dicas.pl 1 Usage : dicas . pl command [ arguments ] 2 3 Available Commands : 4 arruma_string 5 help show syntax and available commands 6 include include one−liner as a command $ perl dicas.pl arruma string outro arquivo.txt Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
$ perl dicas.pl include ’arruma string’ -i.bck -npe ’s/foo/bar/g’ arquivo.txt $ perl dicas.pl 1 Usage : dicas . pl command [ arguments ] 2 3 Available Commands : 4 arruma_string 5 help show syntax and available commands 6 include include one−liner as a command $ perl dicas.pl arruma string outro arquivo.txt Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
$ perl dicas.pl include ’arruma string’ -i.bck -npe ’s/foo/bar/g’ arquivo.txt $ perl dicas.pl 1 Usage : dicas . pl command [ arguments ] 2 3 Available Commands : 4 arruma_string 5 help show syntax and available commands 6 include include one−liner as a command $ perl dicas.pl arruma string outro arquivo.txt Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Como mandar o log do Apache para o Syslog ( tutorial no ultimo slide ) PABX Usar Spreadsheet::Write Customizar com cores, gerentes/chefes adoram cores maillog Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Como mandar o log do Apache para o Syslog ( tutorial no ultimo slide ) PABX Usar Spreadsheet::Write Customizar com cores, gerentes/chefes adoram cores maillog Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Como mandar o log do Apache para o Syslog ( tutorial no ultimo slide ) PABX Usar Spreadsheet::Write Customizar com cores, gerentes/chefes adoram cores maillog Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Como mandar o log do Apache para o Syslog ( tutorial no ultimo slide ) PABX Usar Spreadsheet::Write Customizar com cores, gerentes/chefes adoram cores maillog Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Como mandar o log do Apache para o Syslog ( tutorial no ultimo slide ) PABX Usar Spreadsheet::Write Customizar com cores, gerentes/chefes adoram cores maillog Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
e-requisitos Hash tables, o que s˜ ao e como pode ser usada? 1 my %idade = ( 2 ” r a u l s e i x a s ” => 10000 , 3 ” a r t h u r d e n t ” => 42 4 ) ; 5 p r i n t $idade{ ' a r t h u r d e n t ' }; 6 # adicionando i t e n s ao hash 7 $idade{” j e r e m i a s ”}=27; 8 # deletando i t e n s 9 d e l e t e ( $idade{ ' r a u l s e i x a s ' }) ; Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
e-requisitos Estrutura de um hash: 1 $VAR1 = { 2 ' j e r e m i a s ' => 27 , 3 ' a r t h u r d e n t ' => 42 , 4 ' r a u l s e i x a s ' => −10000 5 }; Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
”spider” Pegando o ”invasor” do seu site 1 w h i l e (my $line = <STDIN >) { 2 my ( $ip ) = s p l i t (/\ s / , $line ) ; 3 $hash_count {$ip} = $hash_count {$ip} + 1; 4 } 5 6 p r i n t Dumper \%hash_count ; 7 f o r e a c h my $line ( s o r t { $hash_count {$b} <=> $hash_count {← $a} } keys 8 %hash_count ) { 9 my $acessos = $hash_count {$line }; 10 p r i n t ” i p : $ l i n e \ t a c e s s o s :\ t $ a c e s s o s \n” ; 11 } Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
arquivo duplicados 1 my @targets = ( ' /home/ l o r n / foo / ' ) ; 2 my $tree = File : : Find : : Object−>new ({} , @targets ) ; 3 my %hash_file = () ; 4 my $md5 = Digest : : MD5−>new ; 5 w h i l e (my $r = $tree−>next ( ) ) { 6 i f ( −d $r ) { 7 next ; 8 } 9 open (my $file , '< ' , $r ) or d i e ”$ !\ n” ; 10 $md5−>addfile ( $file ) ; 11 my $digest = $md5−>hexdigest ; 12 c l o s e $file ; 13 my @files = ( $r ) ; 14 push ( @{$hash_file{$digest }} , $r ) ; 15 } Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
arquivo duplicados 1 f o r e a c h my $md5hex ( s o r t { $hash_file{$a} <=> $hash_file{← $b} } keys 2 %hash_file ) { 3 i f ( s c a l a r ( @{$hash_file{$md5hex }}) > 1) { 4 p r i n t ” Arquivo d u p l i c a d o !\ n” ; 5 f o r e a c h my $file ( @{$hash_file{$md5hex }}) { 6 p r i n t ” f i l e : $ f i l e \n” ; 7 } 8 } 9 } Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
arquivo duplicados 1 $VAR1 = { 2 ' 4 b1a785a1dd6db7b5e4f86c7e56c2d1d ' => 3 [ 4 ' / Users / l o r n / foo / arquivo2 . t x t ' , 5 ' / Users / l o r n / foo / arquivo23 . t x t ' 6 ] , 7 8 ' 3789 fa4898d7b7f1513c8ad3965c3f9a ' => 9 [ 10 ' / Users / l o r n / foo / arquivo1 . t x t ' , 11 ' / Users / l o r n / foo / arquivo11 . t x t ' , 12 ' / Users / l o r n / foo /tmp/ arquivo42 . t x t ' 13 ] 14 }; Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Nenhuma linguagem carrega dados no banco, mais rapido que o proprio banco pg copy ( PostgreSQL ) , impdmp ( Oracle ) ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Limpeza de caracteres ’?’ dupla dinamic ord - chr ord: descobre o ”id” do caracter estranho chr: recebe o ”id” do caracter e retorna o mesmo my $id estranho = ord(371); my $char estranho = chr($id estranho); my $texto sujo = s/$char estranho//g; Validar os dados de entrada ( CNPJ, CPF, etc ) Business::BR::CNPJ Business::BR::CPF Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Spreadsheet::Write tamb´ em funciona bem com SELECT ... ou seja, n˜ ao precisa gerar um .csv e carregar no seu ”Excel” ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Spreadsheet::Write tamb´ em funciona bem com SELECT ... ou seja, n˜ ao precisa gerar um .csv e carregar no seu ”Excel” ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
transform, loading Spreadsheet::Write tamb´ em funciona bem com SELECT ... ou seja, n˜ ao precisa gerar um .csv e carregar no seu ”Excel” ..mas vocˆ e pode modificar o que ser´ a carregado antes de usar o proprio banco Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Cleaning Text::Levenshtein ( Edit Distance ou Levenshtein Distance ) rato - ralo rodar - rodo Algorithm::LCS Algoritmo usado no diff de codigos Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Cleaning Text::Levenshtein ( Edit Distance ou Levenshtein Distance ) rato - ralo rodar - rodo Algorithm::LCS Algoritmo usado no diff de codigos Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Cleaning Text::Levenshtein ( Edit Distance ou Levenshtein Distance ) rato - ralo rodar - rodo Algorithm::LCS Algoritmo usado no diff de codigos Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Cleaning Text::Levenshtein ( Edit Distance ou Levenshtein Distance ) rato - ralo rodar - rodo Algorithm::LCS Algoritmo usado no diff de codigos Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s
Cleaning Text::Levenshtein ( Edit Distance ou Levenshtein Distance ) rato - ralo rodar - rodo Algorithm::LCS Algoritmo usado no diff de codigos Lindolfo ”Lorn” Rodrigues Perl para Sysadmins e DBA’s