InglesPransesEspanyol

OnWorks favicon

perlopentut - Online sa Cloud

Patakbuhin ang perlopentut sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command perlopentut na maaaring patakbuhin sa OnWorks free hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


perlopentut - mga simpleng recipe para sa pagbubukas ng mga file at pipe sa Perl

DESCRIPTION


Sa tuwing gagawin mo ang I/O sa isang file sa Perl, ginagawa mo ito sa pamamagitan ng tinatawag sa Perl na a
filehandle. Ang filehandle ay isang panloob na pangalan para sa isang panlabas na file. Ito ay trabaho ng
"bukas" na function upang gawin ang kaugnayan sa pagitan ng panloob na pangalan at panlabas na pangalan,
at trabaho ng "close" na function na sirain ang asosasyong iyon.

Para sa iyong kaginhawahan, si Perl ay nagse-set up ng ilang espesyal na filehandle na bukas na kung kailan
Tumakbo ka. Kabilang dito ang "STDIN", "STDOUT", "STDERR", at "ARGV". Dahil ang mga iyon ay pre-
binuksan, maaari mong gamitin ang mga ito kaagad nang hindi nahihirapang buksan ang mga ito
iyong sarili:

print STDERR "Ito ay isang mensahe sa pag-debug.\n";

print STDOUT "Mangyaring magpasok ng isang bagay: ";
$tugon = // mamatay "bakit walang input?";
print STDOUT "Salamat!\n";

habang ( ) { ... }

Tulad ng nakikita mo mula sa mga halimbawang iyon, ang "STDOUT" at "STDERR" ay mga output handle, at "STDIN" at
Ang "ARGV" ay mga input handle. Ang mga ito ay nasa lahat ng malalaking titik dahil sila ay nakalaan sa
Perl, katulad ng @ARGV array at ang %ENV hash ay. Ang kanilang mga panlabas na asosasyon ay
itinakda ng iyong shell.

Kakailanganin mong buksan ang bawat iba pang filehandle nang mag-isa. Bagama't marami
mga variant, ang pinakakaraniwang paraan ng pagtawag sa Perl's bukas() ang function ay may tatlong argumento at
isang return value:

" OK = bukas(HANDLE, MODE, PATHNAME)"

Saan:

OK ay magiging ilang tinukoy na halaga kung magtagumpay ang bukas, ngunit "undef" kung nabigo ito;

HAWAKAN
dapat ay isang hindi natukoy na scalar variable na pupunan ng "bukas" na function kung ito
nagtagumpay;

MODE
ay ang access mode at ang encoding format para buksan ang file gamit ang;

PATHNAME
ay ang panlabas na pangalan ng file na gusto mong buksan.

Karamihan sa pagiging kumplikado ng "bukas" na function ay nakasalalay sa maraming posibleng mga halaga na ang
MODE maaaring tumagal ang parameter.

Isang huling bagay bago namin ipakita sa iyo kung paano magbukas ng mga file: ang pagbubukas ng mga file ay hindi (karaniwan)
awtomatikong i-lock ang mga ito sa Perl. Tingnan ang perlfaq5 para sa kung paano i-lock.

Pagbubukas teksto File


Pagbubukas teksto File para Pagbabasa
Kung gusto mong magbasa mula sa isang text file, buksan muna ito sa read-only mode tulad nito:

ang aking $filename = "/some/path/to/a/textfile/goes/here";
my $encoding = ":encoding(UTF-8)";
aking $handle = undef; # ito ay mapupunan sa tagumpay

bukas($handle, "< $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename para sa pagbabasa: $!";

Tulad ng sa shell, sa Perl ang "<" ay ginagamit upang buksan ang file sa read-only na mode. Kung ito
nagtagumpay, naglalaan si Perl ng bagong filehandle para sa iyo at pinupunan ang iyong dati
hindi natukoy na $handle argument na may reference sa handle na iyon.

Ngayon ay maaari kang gumamit ng mga function tulad ng "readline", "read", "getc", at "sysread" sa handle na iyon.
Marahil ang pinakakaraniwang input function ay ang mukhang isang operator:

$line = readline($handle);
$line = <$handle>; # parehas na bagay

Dahil ang function na "readline" ay nagbabalik ng "undef" sa dulo ng file o kapag nagkamali, gagawin mo
minsan makita itong ginamit sa ganitong paraan:

$line = <$handle>;
kung (tinukoy $line) {
# gumawa ng isang bagay gamit ang $line
}
tao {
# $line ay hindi wasto, kaya laktawan ito
}

Maaari mo ring mabilis na "mamatay" sa isang hindi natukoy na halaga sa ganitong paraan:

$line = <$handle> // die "no input found";

Gayunpaman, kung ang pagpindot sa EOF ay isang inaasahan at normal na kaganapan, hindi mo nais na lumabas nang simple
dahil naubusan ka na ng input. Sa halip, malamang na gusto mo lang lumabas sa isang input loop.
Pagkatapos ay maaari mong subukan upang makita kung ang isang aktwal na error ay naging sanhi ng loop upang wakasan, at kumilos
naaayon:

habang (<$handle>) {
# gumawa ng isang bagay gamit ang data sa $_
}
kung ($!) {
mamatay "hindi inaasahang error habang nagbabasa mula sa $filename: $!";
}

A nota on Mga encoding: Ang pagkakaroon upang tukuyin ang text encoding sa bawat oras ay maaaring mukhang isang bit ng isang
abala. Upang mag-set up ng default na pag-encode para sa "bukas" para hindi mo na kailangang ibigay ito sa bawat isa
oras, maaari mong gamitin ang "bukas" na pragma:

gumamit ng open qw< :encoding(UTF-8) >;

Kapag nagawa mo na iyon, maaari mong ligtas na alisin ang bahagi ng pag-encode ng open mode:

bukas($handle, "<", $filename)
|| mamatay "$0: hindi mabuksan ang $filename para sa pagbabasa: $!";

Ngunit huwag gamitin ang hubad na "<" nang hindi muna nagse-set up ng default na pag-encode. kung hindi,
Hindi malalaman ni Perl kung alin sa marami, marami, maraming posibleng lasa ng text file na mayroon ka, at
Walang ideya si Perl kung paano imapa nang tama ang data sa iyong file sa mga aktwal na character
maaari itong gumana sa. Iba pang karaniwang mga format ng pag-encode kabilang ang "ASCII", "ISO-8859-1",
"ISO-8859-15", "Windows-1252", "MacRoman", at maging ang "UTF-16LE". Tingnan ang kailangan para sa higit pa
tungkol sa pag-encode.

Pagbubukas teksto File para Pagsulat
Kapag gusto mong magsulat sa isang file, kailangan mo munang magpasya kung ano ang gagawin tungkol sa anumang umiiral na
nilalaman ng file na iyon. Mayroon kang dalawang pangunahing pagpipilian dito: upang mapanatili o mag-clobber.

Kung gusto mong panatilihin ang anumang mga umiiral na nilalaman, pagkatapos ay gusto mong buksan ang file sa append
mode. Tulad ng sa shell, sa Perl ginagamit mo ang ">>" upang buksan ang isang umiiral na file sa append mode.
Ginagawa ng ">>" ang file kung wala pa ito.

aking $handle = undef;
ang aking $filename = "/some/path/to/a/textfile/goes/here";
my $encoding = ":encoding(UTF-8)";

bukas($handle, ">> $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename para sa pagdaragdag: $!";

Ngayon ay maaari kang sumulat sa filehandle na iyon gamit ang alinman sa "print", "printf", "say", "write", o
"syswrite".

Gaya ng nabanggit sa itaas, kung wala pa ang file, lilikha ang append-mode open
para sa iyo ito. Ngunit kung ang file ay mayroon na, ang mga nilalaman nito ay ligtas mula sa pinsala dahil
idaragdag mo ang iyong bagong teksto sa dulo ng lumang teksto.

Sa kabilang banda, kung minsan gusto mong i-clobber kung ano ang maaaring naroroon. Upang
alisan ng laman ang isang file bago ka magsimulang sumulat dito, maaari mo itong buksan sa write-only mode:

aking $handle = undef;
ang aking $filename = "/some/path/to/a/textfile/goes/here";
my $encoding = ":encoding(UTF-8)";

bukas($handle, "> $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename sa write-open mode: $!";

Narito muli ang Perl ay gumagana tulad ng shell sa na ang ">" clobbers isang umiiral na file.

Tulad ng append mode, kapag nagbukas ka ng file sa write-only mode, maaari ka na ngayong sumulat
na filehandle gamit ang alinman sa "print", "printf", "say", "write", o "syswrite".

Paano ang read-write mode? Dapat mo sigurong magpanggap na wala ito, dahil pagbubukas
Ang mga text file sa read-write mode ay malabong gawin ang gusto mo. Tingnan ang perlfaq5 para sa
mga detalye.

Pagbubukas binary File


Kung ang file na bubuksan ay naglalaman ng binary data sa halip na mga text character, ang "MODE"
Ang argumento sa "bukas" ay medyo naiiba. Sa halip na tukuyin ang pag-encode, sasabihin mo
Perl na ang iyong data ay nasa raw bytes.

ang aking $filename = "/some/path/to/a/binary/file/goes/here";
aking $encoding = ":raw :bytes"
aking $handle = undef; # ito ay mapupunan sa tagumpay

At pagkatapos ay buksan tulad ng dati, piliin ang "<", ">>", o ">" kung kinakailangan:

bukas($handle, "< $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename para sa pagbabasa: $!";

bukas($handle, ">> $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename para sa pagdaragdag: $!";

bukas($handle, "> $encoding", $filename)
|| mamatay "$0: hindi mabuksan ang $filename sa write-open mode: $!";

Bilang kahalili, maaari kang lumipat sa binary mode sa isang umiiral nang handle sa ganitong paraan:

binmode($handle) || mamatay "hindi mahawakan ang binmode";

Ito ay lalong madaling gamitin para sa mga handle na binuksan na ni Perl para sa iyo.

binmode(STDIN) || mamatay "hindi maaaring binmode STDIN";
binmode(STDOUT) || mamatay "hindi maaaring binmode STDOUT";

Maaari mo ring ipasa ang "binmode" ng isang tahasang pag-encode upang baguhin ito sa mabilisang. Ito ay hindi
eksaktong "binary" mode, ngunit ginagamit pa rin namin ang "binmode" upang gawin ito:

binmode(STDIN, ":encoding(MacRoman)") || mamatay "hindi maaaring binmode STDIN";
binmode(STDOUT, ":encoding(UTF-8)") || mamatay "hindi maaaring binmode STDOUT";

Kapag nabuksan mo nang maayos ang iyong binary file sa tamang mode, maaari mong gamitin ang lahat ng pareho
Ang Perl I/O ay gumagana tulad ng ginamit mo sa mga text file. Gayunpaman, maaaring naisin mong gamitin ang nakapirming laki
"read" sa halip na ang variable-sized na "readline" para sa iyong input.

Narito ang isang halimbawa kung paano kumopya ng binary file:

aking $BUFSIZ = 64 * (2 ** 10);
my $name_in = "/some/input/file";
my $name_out = "/some/output/flie";

my($in_fh, $out_fh, $buffer);

bukas($in_fh, "<", $name_in)
|| mamatay "$0: hindi mabuksan ang $name_in para sa pagbabasa: $!";
bukas($out_fh, ">", $name_out)
|| mamatay "$0: hindi mabuksan ang $name_out para sa pagsulat: $!";

para sa aking $fh ($in_fh, $out_fh) {
binmode($fh) || mamatay "binmode failed";
}

habang (read($in_fh, $buffer, $BUFSIZ)) {
maliban kung (i-print ang $out_fh $buffer) {
mamatay "hindi magsulat sa $name_out: $!";
}
}

malapit($in_fh) || mamatay "hindi maisara ang $name_in: $!";
malapit($out_fh) || mamatay "hindi maisara ang $name_out: $!";

Pagbubukas Pipa


Ipapahayag.

Mababang antas talaksan Binubuksan sa pamamagitan ng sysopen


Upang ipahayag. O tinanggal.

Gumamit ng perlopentut online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 2
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • 3
    Shadowsocks
    Shadowsocks
    Isang mabilis na tunnel proxy na tumutulong sa iyo
    bypass firewalls Ito ay isang application
    na maaari ring kunin mula sa
    https://sourceforge.net/projects/shadowsocksgui/.
    Ito ha...
    I-download ang Shadowsocks
  • 4
    Mga Tema ng GLPI
    Mga Tema ng GLPI
    I-download ang release sa
    https://github.com/stdonato/glpi-modifications/
    Mga tema ng kulay para sa GLPI 0.84 at 0.85 Bago
    Mga Pagbabago para sa GLPI Ito ay isang
    application na c...
    I-download ang Mga Tema ng GLPI
  • 5
    SMPlayer
    SMPlayer
    Ang SMPlayer ay isang libreng media player para sa
    Windows at Linux na may mga built-in na codec
    na nakakapag-play din ng mga video sa YouTube. Isa
    sa mga pinakakawili-wiling tampok ng
    SMPlayer:...
    I-download ang SMPlayer
  • 6
    AAX hanggang MP3
    AAX hanggang MP3
    Paggamit: - I-install ang Audible Manager
    at magbukas ng file ng iyong account. - Tanda
    sa iyong naririnig na account (sa
    aplikasyon). Ngayon ay maaari na ang programa
    convert ka...
    I-download ang AAX sa MP3
  • Marami pa »

Linux command

Ad