User Tools

Site Tools


язык_программирования_perl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
язык_программирования_perl [2014/08/07 12:49]
val [Пример 4]
язык_программирования_perl [2020/04/03 16:23]
val [Пример 5]
Line 17: Line 17:
 ==== Пример 1 ==== ==== Пример 1 ====
  
 +  * Отключение буферизации вывода
   * Чтение данных с STDIN   * Чтение данных с STDIN
   * Регулярный разбор полей строки   * Регулярный разбор полей строки
Line 24: Line 25:
 </​code><​code>​ </​code><​code>​
 #​!/​usr/​bin/​perl #​!/​usr/​bin/​perl
 +
 +$|=1;
  
 while(<>​) { while(<>​) {
Line 54: Line 57:
 my ($ip) = @ARGV; my ($ip) = @ARGV;
  
-if (not defined ​$ip) {+unless($ip) {
   die "Need ip\n";   die "Need ip\n";
 } }
Line 126: Line 129:
         $sth = $dbh->​prepare(qq{select LAST_INSERT_ID()});​         $sth = $dbh->​prepare(qq{select LAST_INSERT_ID()});​
         $sth->​execute() or next MAINLOOP;         $sth->​execute() or next MAINLOOP;
-        ​(my $a)=$sth->​fetchrow_array();​+        my ($a)=$sth->​fetchrow_array();​
  
         print "a = $a; b = $b\n";         print "a = $a; b = $b\n";
Line 154: Line 157:
  
   * Использование UTF8   * Использование UTF8
-  * Работа с XML форматом+  * Работа с XML форматом ​([[https://​stackoverflow.com/​questions/​46167194/​get-value-of-elements-using-xmldom|Get value of elements using XML::DOM]])
  
 === Исходный файл === === Исходный файл ===
Line 198: Line 201:
  
 foreach my $node (@nodes) { foreach my $node (@nodes) {
 +
 +#    print $node->​toString;​
 +    ​
     my $uuid = $node->​getAttributeNode ("​uuid"​)->​getValue;​     my $uuid = $node->​getAttributeNode ("​uuid"​)->​getValue;​
     my $lastname = $node->​getAttributeNode ("​lastname"​)->​getValue;​     my $lastname = $node->​getAttributeNode ("​lastname"​)->​getValue;​
Line 205: Line 211:
 } }
 </​code>​ </​code>​
 +==== Пример 5 ====
 +
 +  * Работа с Communigate
 +
 +<​code>​
 +# wget https://​www.communigate.com/​CGPerl/​CLI.pm
 +
 +# mv CLI.pm /etc/perl/
 +
 +# cat addcgpuser.pl
 +</​code><​code>​
 +#​!/​usr/​bin/​perl
 +
 +use strict;
 +use CLI;
 +
 +my ($AccountName,​$RealName,​$Password) = @ARGV;
 +
 +my $cli = new CGP::CLI( { PeerAddr => '​127.0.0.1',​
 +                            PeerPort => 106,
 +                            login    => '​postmaster',​
 +                            password => '​Pa$$w0rd'​
 +                        } ) 
 +  || die "​Can'​t login to CGPro: "​.$CGP::​ERR_STRING."​\n";​
 +
 +
 +my $UserData;
 +  @$UserData{'​RealName'​}=$RealName;​
 +  @$UserData{'​Password'​}=$Password;​
 +
 +$cli->​CreateAccount(accountName => $AccountName,​
 +                            settings => $UserData) ​
 +  || die "​Can'​t create account: "​.$CGP::​ERR_STRING."​\n";​
 +
 +$cli->​Logout;​
 +
 +exit;
 +</​code><​code>​
 +mail# ./​addcgpuser.pl user3 '​Сидор Сидорович Сидоров'​ cpassword3
 +</​code>​
 +
 +==== Пример 6 ====
 +
 +  * Perl CGI
 +  * http://​....hello.pl?​name=ivanov
 +
 +<​code>​
 +$ cat hello.pl
 +</​code><​code>​
 +#​!/​usr/​bin/​perl
 +
 +use strict;
 +use CGI;
 +
 +my $q=new CGI();
 +my $name=$q->​param('​name'​);​
 +print qq|
 +<​html>​
 +<​body>​
 +<​h1>​Hello $name</​h1>​
 +</​body>​
 +</​html>​
 +|;
 +</​code>​
 +
 +==== Ссылки ====
 +
 +  * [[http://​codecry.com/​perl/​random-password-generator|Random Password Generator in Perl]]
 +  * [[http://​www.xgu.ru/​wiki/​%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D0%B8%D1%82|Транслит]]
язык_программирования_perl.txt · Last modified: 2022/04/24 18:12 by val