- ANSI C
- PERL
- » Variable handling
- » Miscellaneous
- » POSIX
- » Date/Time
- » Math
- » menu_code_perlcode_strings
- » PCRE
- » Arrays
- » Classes
- » Program execution
- » Directories
- » Filesystem
- » GD
- » Network
- » Sockets
- » DBI
- PHP
- JavaScript
CONTENT
- CHANGES
Szukaj
#top Array¶
W języku perl należy rozróżnić dwa typy tablic: LIST, HASH. LIST jest tablicą indeksowaną numerycznie od 0 do n-1 elementów, natomiast HASH jest tablicą indeksowaną ciągami znaków. W przypadku używania różnego typu tablic w języku perl należy zwrócić uwagę na różnicę w sposobie definicji oraz sposobie odwoływania się do elementów:
- zmienna tablicowa typu LIST definiowana jest w następujący sposób
my @LIST;
- zmienna tablicowa typu HASH definiowana jest w następujący sposób
my %HASH;
Indeksowanie elementów tablicy również jest zależne od typu tablicy:
- w przypadku tablicy typu LIST elementy indeksowane są następująco (odczyt/modyfikacja):
$LIST[$index]
- w przypadku tablicy typu HASH elementy indeksowaną są następująco (odczyt/modyfikacja):
$LIST{$key}
Następujące definicje tablicy LIST są równoważne (w następującym rozumieniu: utworzona lista będzie posiadała identyczną strukturę wraz z zawartością):
- definicja listy wraz z inicjalizacją (przypisaniem wartości):
my @LIST=(1,2,3);- definicja listy, a następnie inicjalizacja każdego określonego numeru indeksu osobno (przypisanie wartości każdemu indeksowi osobno):
my @LIST; $LIST[0]=1; $LIST[1]=2; $LIST[2]=3;- definicja listy, a następnie inicjalizacja ostatniego elementu indeksu osobno (przypisanie wartości każdemu indeksowi osobno):
my @LIST; $LIST[$#LIST+1]=1; $LIST[$#LIST+1]=2; $LIST[$#LIST+1]=3;- definicja listy, a następnie użycie funkcji operującej na liscie (dodającej elementy na końcu tablicy):
my @LIST; push(@LIST, 1); push(@LIST, 2); push(@LIST, 3);- definicja listy wraz inicjalizacją, przypisaniem listy zwróconej przez funkcję wykonującą podział ciągu znaków:
my @LIST=split(/:/,"1:2:3");
Następujące definicje tablicy HASH są równoważne (w następującym rozumieniu: utworzona tablica HASH będzie posiadała identyczną strukturę wraz z zawartością):
- definicja tablicy HASH wraz z inicjalizacją (przypisaniem wartości do określonych kluczy):
my %HASH=("1"=>1,22=>22,"333"=>333);- definicja tablicy HASH wraz z inicjalizacją (przypisaniem do kolejno występujących kluczy kolejno występujących wartości):
my %HASH=("1",1,22,22,"333",333);- definicja tablicy HASH, a następnie inicjalizacja każdego klucza (key) tablicy HASH osobno (przypisanie wartości każdemu kluczowi osobno):
my %HASH; $HASH{"1"}=1; $HASH{22}=>22; $HASH{"333"}=>333;- definicja tablicy HASH wraz z inicjalizacją wartościami z tablicy LIST:
my @LIST=("1",1,22,22,"333",333); my %HASH=@LIST;
#top Predefined Constants¶
No Predefined Constants here.
#top Datatypes / MACROS¶
No Datatypes here.
#top Array Functions¶
#top delete¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
delete()
jest następująca:Powiązane:
delete(), defined(), exists(),
Opis:
description
#top exists¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
exists()
jest następująca:Powiązane:
delete(), defined(), exists(),
Opis:
description
Example:
zawartość pliku
delete.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my (%HASH, @LIST, $ki, $key, $val); if ($#ARGV+1<1) { print("Usage: $0 <key:val>\n"); print("Examples:\n"); print(" $0 key0:val0 key0 key1 key1:val1 keya:vala keya keyb keyb:valb\n"); exit(1); } print""$0: foreach \$ki (0..$#ARGV):\n"); foreach $ki (0..$#ARGV) { print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]):\n"); ($key, $val)=split(/:/, $ARGV[$ki]); if (defined($val)) { printt"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): \$key=$key \$val=$val:\n"); $HASH{$key}=$val; printt"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): \$key=$key \$val=$val: \$HASH{$key}=$HASH{$key}\n"); } else { printt"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): else: \$key=$key:\n"); if (exists($HASH{$key})) { printn"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): else: \$key=$key: if (exists(\$HASH{$key})): \$result=delete(\$HASH{$key}):\n"); my $result=delete($HASH{$key}); printn"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): else: \$key=$key: if (exists(\$HASH{$key})): \$result=delete(\$HASH{$key}): \$result=$result\n"); } else { printn"$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): if (defined(\$val)): else: \$key=$key: if (exists(\$HASH{$key})): else: not exists\n"); } } } print""$0:\n");
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/delete.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/delete.pl <key:val> Examples: /home/local/code/perlcode/array/delete.pl key0:val0 key0 key1 key1:val1 keya:vala key2 keya keyb keyb:valb
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/delete.pl key0:val0 key0 key1 key1:val1 keya:vala keya keyb keyb:valbrezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/delete.pl: foreach $ki (0..7): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): if (defined($val)): $key=key0 $val=val0: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): if (defined($val)): $key=key0 $val=val0: $HASH{key0}=val0 /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[1]=key0): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[1]=key0): if (defined($val)): else: $key=key0: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[1]=key0): if (defined($val)): else: $key=key0: if (exists($HASH{key0})): $result=delete($HASH{key0}): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[1]=key0): if (defined($val)): else: $key=key0: if (exists($HASH{key0})): $result=delete($HASH{key0}): $result=val0 /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[2]=key1): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[2]=key1): if (defined($val)): else: $key=key1: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[2]=key1): if (defined($val)): else: $key=key1: if (exists($HASH{key1})): else: not exists /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[3]=key1:val1): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[3]=key1:val1): if (defined($val)): $key=key1 $val=val1: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[3]=key1:val1): if (defined($val)): $key=key1 $val=val1: $HASH{key1}=val1 /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[4]=keya:vala): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[4]=keya:vala): if (defined($val)): $key=keya $val=vala: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[4]=keya:vala): if (defined($val)): $key=keya $val=vala: $HASH{keya}=vala /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[5]=keya): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[5]=keya): if (defined($val)): else: $key=keya: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[5]=keya): if (defined($val)): else: $key=keya: if (exists($HASH{keya})): $result=delete($HASH{keya}): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[5]=keya): if (defined($val)): else: $key=keya: if (exists($HASH{keya})): $result=delete($HASH{keya}): $result=vala /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[6]=keyb): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[6]=keyb): if (defined($val)): else: $key=keyb: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[6]=keyb): if (defined($val)): else: $key=keyb: if (exists($HASH{keyb})): else: not exists /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[7]=keyb:valb): /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[7]=keyb:valb): if (defined($val)): $key=keyb $val=valb: /home/local/code/perlcode/array/delete.pl: ($key, $val)=split(/:/, $ARGV[7]=keyb:valb): if (defined($val)): $key=keyb $val=valb: $HASH{keyb}=valb /home/local/code/perlcode/array/delete.pl:
#top grep¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
grep()
jest następująca:Powiązane:
Opis:
description
Example:
zawartość pliku
grep.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my (@LIST, $greptext, @GREPLIST); if ($#ARGV+1<1) { print("Usage: $0 <greptext> <value [, value [, value, [...]]]>\n"); print("Examples:\n"); print(" $0 val123 val1 val12 val123 val123a val123ab\n"); print(" $0 'val.*a\$' val1 val12 val123 val123a val123ab\n"); print(" $0 'val[0-9]' val1 val2 val3 vala valb\n"); exit(1); } print""$0: \@ARGV=@ARGV\n"); @LIST=@ARGV; $greptext=shift(@LIST); print""$0: \$greptext=$greptext \@LIST=@LIST\n"); print""$0: \@GREPLIST=grep(/\$greptext/, \@LIST): \$greptext=|$greptext| \@LIST=|@LIST|\n"); @GREPLIST=grep(/$greptext/, @LIST); print""$0: \@GREPLIST=grep(/\$greptext/, \@LIST): \$greptext=|$greptext| \@LIST=|@LIST| \@GREPLIST=|@GREPLIST|\n");
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/grep.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/grep.pl <greptext> <value [, value [, value, [...]]]> Examples: /home/local/code/perlcode/array/grep.pl val123 val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl 'val.*a$' val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl 'val[0-9]' val1 val2 val3 vala valb
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/grep.pl val123 val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl 'val.*a$' val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl 'val[0-9]' val1 val2 val3 vala valbrezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/grep.pl: @ARGV=val123 val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl: $greptext=val123 @LIST=val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val123| @LIST=|val1 val12 val123 val123a val123ab| /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val123| @LIST=|val1 val12 val123 val123a val123ab| @GREPLIST=|val123 val123a val123ab| /home/local/code/perlcode/array/grep.pl: @ARGV=val.*a$ val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl: $greptext=val.*a$ @LIST=val1 val12 val123 val123a val123ab /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val.*a$| @LIST=|val1 val12 val123 val123a val123ab| /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val.*a$| @LIST=|val1 val12 val123 val123a val123ab| @GREPLIST=|val123a| /home/local/code/perlcode/array/grep.pl: @ARGV=val[0-9] val1 val2 val3 vala valb /home/local/code/perlcode/array/grep.pl: $greptext=val[0-9] @LIST=val1 val2 val3 vala valb /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val[0-9]| @LIST=|val1 val2 val3 vala valb| /home/local/code/perlcode/array/grep.pl: @GREPLIST=grep(/$greptext/, @LIST): $greptext=|val[0-9]| @LIST=|val1 val2 val3 vala valb| @GREPLIST=|val1 val2 val3|
#top join¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
join()
jest następująca:Powiązane:
join(), keys(), split(), values(),
Opis:
description
#top keys¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
keys()
jest następująca:Powiązane:
join(), keys(), split(), values(),
Opis:
description
#top Merge LIST¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Powiązane:
Opis:
description
Example:
zawartość pliku
merge.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my ($ki, $key, $val, @LISTLIST, @LISTMERGE); sub merge { # 2011/11/27: calling merge(@ARG1, @ARG2, @ARG3, ...) causes all list are merged into one list @_ # 2011/11/27: merge(@ARG1, @ARG2, @ARG3, ...) === @ARGS=(@ARG1, @ARG2, @ARG3, ...) return @_; } if ($#ARGV+1<1) { print("Usage: $0 <greptext> <value [, value [, value, [...]]]>\n"); print("Examples:\n"); print(" $0 key0:val0 key1:val1 key2:val2 keya:vala keyb:valb\n"); exit(1); } print""$0: foreach \$ki (0..$#ARGV):\n"); foreach $ki (0..$#ARGV) { print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]):\n"); ($key, $val)=split(/:/, $ARGV[$ki]); print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): \$key=$key \$val=$val\n"); @{$LISTLIST[$#LISTLIST+1]}=($key, $val); } print""$0:\n"); if ($#LISTLIST+1==3) { print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}, \@{\$LISTLIST[1]}, \@{\$LISTLIST[2]}): \@LISTLIST=|@LISTLIST|\n"); @LISTMERGE=merge(@{$LISTLIST[0]}, @{$LISTLIST[1]}, @{$LISTLIST[2]}); print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}, \@{\$LISTLIST[1]}, \@{\$LISTLIST[2]}): \@LISTLIST=|@LISTLIST| \@LISTMERGE=|@LISTMERGE|\n"); } elsif ($#LISTLIST+1==2) { print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}, \@{\$LISTLIST[1]}): \@LISTLIST=|@LISTLIST|\n"); @LISTMERGE=merge(@{$LISTLIST[0]}, @{$LISTLIST[1]}); print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}, \@{\$LISTLIST[1]}): \@LISTLIST=|@LISTLIST| \@LISTMERGE=|@LISTMERGE|\n"); } elsif ($#LISTLIST+1==1) { print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}): \@LISTLIST=|@LISTLIST|\n"); @LISTMERGE=merge(@{$LISTLIST[0]}); print("$0: \@LISTMERGE=merge(\@{\$LISTLIST[0]}): \@LISTLIST=|@LISTLIST| \@LISTMERGE=|@LISTMERGE|\n"); }
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/merge.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/merge.pl <greptext> <value [, value [, value, [...]]]> Examples: /home/local/code/perlcode/array/merge.pl key0:val0 key1:val1 key2:val2
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/merge.pl key0:val0 key1:val1 key2:val2rezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/merge.pl: foreach $ki (0..2): /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): $key=key0 $val=val0 /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[1]=key1:val1): /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[1]=key1:val1): $key=key1 $val=val1 /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[2]=key2:val2): /home/local/code/perlcode/array/merge.pl: ($key, $val)=split(/:/, $ARGV[2]=key2:val2): $key=key2 $val=val2 /home/local/code/perlcode/array/merge.pl: /home/local/code/perlcode/array/merge.pl: @LISTMERGE=merge(@{$LISTLIST[0]}, @{$LISTLIST[1]}, @{$LISTLIST[2]}): @LISTLIST=|ARRAY(0x869b3a8) ARRAY(0x86e8ca0) ARRAY(0x86a9cf0)| /home/local/code/perlcode/array/merge.pl: @LISTMERGE=merge(@{$LISTLIST[0]}, @{$LISTLIST[1]}, @{$LISTLIST[2]}): @LISTLIST=|ARRAY(0x869b3a8) ARRAY(0x86e8ca0) ARRAY(0x86a9cf0)| @LISTMERGE=|key0 val0 key1 val1 key2 val2|
#top pop¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
pop()
jest następująca:Powiązane:
pop(), push(), shift(), unshift(),
Opis:
description
#top push¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
push()
jest następująca:Powiązane:
pop(), push(), shift(), unshift(),
Opis:
description
Example:
zawartość pliku
push.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my (@LIST, $total, $key, $val); if ($#ARGV+1<=0) { print("Usage: $0\n"); print("Examples:\n"); print(" $0 arg1 arg2 arg3 arg4\n"); } print""$0: for \$key (0..$#ARGV):\n"); for $key (0..$#ARGV) { print("$0: for \$key (0..$#ARGV): \$key=$key:\n"); $val=$ARGV[$key]; print("$0: for \$key (0..$#ARGV): \$key=$key: \$val=$val:\n"); if ($key<($#ARGV+1)/2) { printt"$0: for \$key (0..$#ARGV): \$key=$key: \$val=$val: \@LIST=|@LIST|\n"); $total=push(@LIST, $val); printt"$0: for \$key (0..$#ARGV): \$key=$key: \$val=$val: \$total=push(\@LIST, \$val): \$total=$total \@LIST=|@LIST|\n"); } else { printt"$0: for \$key (0..$#ARGV): \$key=$key: \$val=$val: \@LIST=|@LIST|\n"); $total=unshift(@LIST, $val); printt"$0: for \$key (0..$#ARGV): \$key=$key: \$val=$val: \$total=unshift(\@LIST, \$val): \$total=$total \@LIST=|@LIST|\n"); } } print""$0:\n"); print""$0: for \$key (0..$#LIST):\n"); for $key (0..$#LIST) { print("$0: for \$key (0..$#LIST): \$key=$key \$val=\$LIST[$key]:\n"); if ($key>=($#LIST+1)/2) { printt"$0: for \$key (0..$#LIST): \$key=$key: \$val=$val: \@LIST=|@LIST|\n"); $val=pop(@LIST); printt"$0: for \$key (0..$#LIST): \$key=$key: \$val=$val: \$val=pop(\@LIST): \$val=$val \@LIST=|@LIST|\n"); } else { printt"$0: for \$key (0..$#LIST): \$key=$key: \$val=$val: \@LIST=|@LIST|\n"); $val=shift(@LIST); printt"$0: for \$key (0..$#LIST): \$key=$key: \$val=$val: \$val=shift(\@LIST): \$val=$val \@LIST=|@LIST|\n"); } } print""$0:\n");
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/push.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/push.pl Examples: /home/local/code/perlcode/array/push.pl arg1 arg2 arg3 arg4 /home/local/code/perlcode/array/push.pl: for $key (0..-1): /home/local/code/perlcode/array/push.pl: /home/local/code/perlcode/array/push.pl: for $key (0..-1): /home/local/code/perlcode/array/push.pl:
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/push.pl arg1 arg2 arg3 arg4rezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/push.pl: for $key (0..3): /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0: $val=arg1: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0: $val=arg1: @LIST=|| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0: $val=arg1: $total=push(@LIST, $val): $total=1 @LIST=|arg1| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=1: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=1: $val=arg2: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=1: $val=arg2: @LIST=|arg1| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=1: $val=arg2: $total=push(@LIST, $val): $total=2 @LIST=|arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=2: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=2: $val=arg3: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=2: $val=arg3: @LIST=|arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=2: $val=arg3: $total=unshift(@LIST, $val): $total=3 @LIST=|arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=3: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=3: $val=arg4: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=3: $val=arg4: @LIST=|arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=3: $val=arg4: $total=unshift(@LIST, $val): $total=4 @LIST=|arg4 arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: /home/local/code/perlcode/array/push.pl: for $key (0..3): /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0 $val=$LIST[0]: /home/local/code/perlcode/array/push.pl: for $key (0..3): $key=0: $val=arg4: @LIST=|arg4 arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..2): $key=0: $val=arg4: $val=shift(@LIST): $val=arg4 @LIST=|arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..2): $key=1 $val=$LIST[1]: /home/local/code/perlcode/array/push.pl: for $key (0..2): $key=1: $val=arg4: @LIST=|arg3 arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..1): $key=1: $val=arg3: $val=shift(@LIST): $val=arg3 @LIST=|arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..1): $key=2 $val=$LIST[2]: /home/local/code/perlcode/array/push.pl: for $key (0..1): $key=2: $val=arg3: @LIST=|arg1 arg2| /home/local/code/perlcode/array/push.pl: for $key (0..0): $key=2: $val=arg2: $val=pop(@LIST): $val=arg2 @LIST=|arg1| /home/local/code/perlcode/array/push.pl: for $key (0..0): $key=3 $val=$LIST[3]: /home/local/code/perlcode/array/push.pl: for $key (0..0): $key=3: $val=arg2: @LIST=|arg1| /home/local/code/perlcode/array/push.pl: for $key (0..-1): $key=3: $val=arg1: $val=pop(@LIST): $val=arg1 @LIST=|| /home/local/code/perlcode/array/push.pl:
#top shift¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
shift()
jest następująca:Powiązane:
pop(), push(), shift(), unshift(),
Opis:
description
#top sort¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
sort()
jest następująca:Powiązane:
Opis:
description
Example:
zawartość pliku
sort.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my (@LIST, @SORTLIST); sub sortnat { my @LIST=@_; my $key; @LIST=@LIST[ map { unpack('N',substr($_,-4)); } sort(map { $key=$LIST[$_]; $key=~s[(\d+)][pack('N',$1)]ge; $key.pack('N',$_); } 0..$#LIST) ]; #@LIST=reverse(@LIST); return @LIST; } if ($#ARGV+1<1) { print("Usage: $0 <greptext> <value [, value [, value, [...]]]>\n"); print("Examples:\n"); print(" $0 val123 val123a val123ab val1 val12\n"); exit(1); } print""$0: \@ARGV=@ARGV\n"); @LIST=@ARGV; print""$0: \@LIST=@LIST\n"); print""$0: \@SORTLIST=grep(\@LIST): \@LIST=|@LIST|\n"); @SORTLIST=sort(@LIST); print""$0: \@SORTLIST=sort(\@LIST): \@LIST=|@LIST| \@SORTLIST=|@SORTLIST|\n");
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/sort.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/sort.pl <greptext> <value [, value [, value, [...]]]> Examples: /home/local/code/perlcode/array/sort.pl val123 val123a val123ab val1 val12
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/sort.pl val123 val123a val123ab val1 val12rezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/sort.pl: @ARGV=val123 val123a val123ab val1 val12 /home/local/code/perlcode/array/sort.pl: @LIST=val123 val123a val123ab val1 val12 /home/local/code/perlcode/array/sort.pl: @SORTLIST=grep(@LIST): @LIST=|val123 val123a val123ab val1 val12| /home/local/code/perlcode/array/sort.pl: @SORTLIST=sort(@LIST): @LIST=|val123 val123a val123ab val1 val12| @SORTLIST=|val1 val12 val123 val123a val123ab|
#top split¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
split()
jest następująca:Powiązane:
join(), keys(), split(), values(),
Opis:
description
Example:
zawartość pliku
split.pl
SELECT ALL
#!/usr/bin/perl -w use strict; # force definations for all vars an subroutines use warnings; # force check of unset variables in expressions use diagnostics; # give var/code line number on faults my (%HASH, @LIST, $ki, $key, $val); if ($#ARGV+1<1) { print("Usage: $0 <key:val>\n"); print("Examples:\n"); print(" $0 key0:val0 key1:val1 key2:val2 keya:vala keyb:valb\n"); exit(1); } print""$0: foreach \$ki (0..$#ARGV):\n"); foreach $ki (0..$#ARGV) { print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]):\n"); ($key, $val)=split(/:/, $ARGV[$ki]); print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): \$key=$key \$val=$val:\n"); $HASH{$key}=$val; print("$0: (\$key, \$val)=split(/:/, \$ARGV[$ki]=$ARGV[$ki]): \$key=$key \$val=$val: \$HASH{$key}=$HASH{$key}\n"); } print""$0:\n"); print""$0: \@LIST=keys(\%HASH):\n"); @LIST=keys(%HASH); print""$0: \@LIST=keys(\%HASH): \@LIST=@LIST\n"); print""$0: \@LIST=keys(\%HASH): join('|',\@LIST)=".join('|',@LIST)."\n"); print""$0: foreach \$key (\@LIST): \@LIST=@LIST\n"); foreach $key (@LIST) { print("$0: foreach \$key (\@LIST): \$key=$key \$val=\$HASH{$key}:\n"); $val=$HASH{$key}; print("$0: foreach \$key (\@LIST): \$key=$key \$val=\$HASH{$key}: \$val=$HASH{$key}: \$val=$val\n"); } print""$0:\n"); print""$0: foreach \$ki (0..$#LIST):\n"); foreach $ki (0..$#LIST) { print("$0: foreach \$ki (0..$#LIST): \$ki=$ki \$key=\$LIST[$ki]\n"); $key=$LIST[$ki]; print("$0: foreach \$ki (0..$#LIST): \$ki=$ki \$key=\$LIST[$ki]: \$key=$key \$HASH{$key}=$HASH{$key}\n"); } print""$0:\n"); print""$0: \@LIST=values(\%HASH):\n"); @LIST=values(%HASH); print""$0: \@LIST=values(\%HASH): \@LIST=@LIST\n"); print""$0: \@LIST=values(\%HASH): join('|',\@LIST)=".join('|',@LIST)."\n"); print""$0: foreach \$val (\@LIST): \@LIST=@LIST\n"); foreach $val (@LIST) { print("$0: foreach \$val (\@LIST): \$val=$val\n"); } print""$0:\n");
Aby zobaczyć jak działa program należy go uruchomić bez argumentów:
/home/local/code/perlcode/array/split.plprogram wyświetli informacje o sposobie uruchamiania programu:
Usage: /home/local/code/perlcode/array/split.pl <key:val> Examples: /home/local/code/perlcode/array/split.pl key0:val0 key1:val1 key2:val2 keya:vala keyb:valb
jako argument wywołania programu można podać analogiczne jak poniżej argumenty:
/home/local/code/perlcode/array/split.pl key0:val0 key1:val1 key2:val2 keya:vala keyb:valbrezultat będzie zależny od podanego argumentu wywołania programu:
/home/local/code/perlcode/array/split.pl: foreach $ki (0..4): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): $key=key0 $val=val0: /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[0]=key0:val0): $key=key0 $val=val0: $HASH{key0}=val0 /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[1]=key1:val1): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[1]=key1:val1): $key=key1 $val=val1: /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[1]=key1:val1): $key=key1 $val=val1: $HASH{key1}=val1 /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[2]=key2:val2): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[2]=key2:val2): $key=key2 $val=val2: /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[2]=key2:val2): $key=key2 $val=val2: $HASH{key2}=val2 /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[3]=keya:vala): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[3]=keya:vala): $key=keya $val=vala: /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[3]=keya:vala): $key=keya $val=vala: $HASH{keya}=vala /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[4]=keyb:valb): /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[4]=keyb:valb): $key=keyb $val=valb: /home/local/code/perlcode/array/split.pl: ($key, $val)=split(/:/, $ARGV[4]=keyb:valb): $key=keyb $val=valb: $HASH{keyb}=valb /home/local/code/perlcode/array/split.pl: /home/local/code/perlcode/array/split.pl: @LIST=keys(%HASH): /home/local/code/perlcode/array/split.pl: @LIST=keys(%HASH): @LIST=keya key2 key1 keyb key0 /home/local/code/perlcode/array/split.pl: @LIST=keys(%HASH): join('|',@LIST)=keya|key2|key1|keyb|key0 /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): @LIST=keya key2 key1 keyb key0 /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=keya $val=$HASH{keya}: /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=keya $val=$HASH{keya}: $val=vala: $val=vala /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key2 $val=$HASH{key2}: /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key2 $val=$HASH{key2}: $val=val2: $val=val2 /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key1 $val=$HASH{key1}: /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key1 $val=$HASH{key1}: $val=val1: $val=val1 /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=keyb $val=$HASH{keyb}: /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=keyb $val=$HASH{keyb}: $val=valb: $val=valb /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key0 $val=$HASH{key0}: /home/local/code/perlcode/array/split.pl: foreach $key (@LIST): $key=key0 $val=$HASH{key0}: $val=val0: $val=val0 /home/local/code/perlcode/array/split.pl: /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=0 $key=$LIST[0] /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=0 $key=$LIST[0]: $key=keya $HASH{keya}=vala /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=1 $key=$LIST[1] /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=1 $key=$LIST[1]: $key=key2 $HASH{key2}=val2 /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=2 $key=$LIST[2] /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=2 $key=$LIST[2]: $key=key1 $HASH{key1}=val1 /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=3 $key=$LIST[3] /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=3 $key=$LIST[3]: $key=keyb $HASH{keyb}=valb /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=4 $key=$LIST[4] /home/local/code/perlcode/array/split.pl: foreach $ki (0..4): $ki=4 $key=$LIST[4]: $key=key0 $HASH{key0}=val0 /home/local/code/perlcode/array/split.pl: /home/local/code/perlcode/array/split.pl: @LIST=values(%HASH): /home/local/code/perlcode/array/split.pl: @LIST=values(%HASH): @LIST=vala val2 val1 valb val0 /home/local/code/perlcode/array/split.pl: @LIST=values(%HASH): join('|',@LIST)=vala|val2|val1|valb|val0 /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): @LIST=vala val2 val1 valb val0 /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): $val=vala /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): $val=val2 /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): $val=val1 /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): $val=valb /home/local/code/perlcode/array/split.pl: foreach $val (@LIST): $val=val0 /home/local/code/perlcode/array/split.pl:
#top unshift¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
unshift()
jest następująca:Powiązane:
pop(), push(), shift(), unshift(),
Opis:
description
#top values¶
Documentacja online: perldoc.perl.org | www.tutorialspoint.com
Deklaracja funkcji
values()
jest następująca:Powiązane:
join(), keys(), split(), values(),
Opis:
description
Zmodyfikowany ostatnio: 2014/09/02 10:07:51 (10 lat temu),
textsize: 36,2 kB,
htmlsize: 65,4 kB
Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników